EXCEL DATEDIFでは1900年以前の差が計算出来ない
☆EXCEL DATEDIFでは1900年以前の差が計算出来ない
忘れないうちに覚書です。
日付けの差をEXCELで計算する場合、以下のB列のような値が入っていた場合、
で、DATEDIF(B2,B3,"D")で、
差を表示する事が出来る。
ですが、遠い昔の日付の差を計算させたい場合、これが出来ないようです。
たとえばこんな感じ。
1900年1月1日からしか対応していないようで、
1899年12月31日以前では、エラーとなってしまいました。
EXCELのヘルプにも出てこない関数ですし、仕方ないんでしょうけど。
INT(B5)が1で、INT(B8)はエラーになるので、
この関数というかEXCELでは1900年1月1日からしか対応していないみたいですね。
私の持っているEXCELが古いから(EXCEL2000)?
あるリスト作成に、このDATEDIFを使うつもりだったんですが、
無理そうですので違う手を考える事にします。
記述:2012年03月頃
忘れないうちに覚書です。
日付けの差をEXCELで計算する場合、以下のB列のような値が入っていた場合、
で、DATEDIF(B2,B3,"D")で、
差を表示する事が出来る。
ですが、遠い昔の日付の差を計算させたい場合、これが出来ないようです。
たとえばこんな感じ。
1900年1月1日からしか対応していないようで、
1899年12月31日以前では、エラーとなってしまいました。
EXCELのヘルプにも出てこない関数ですし、仕方ないんでしょうけど。
INT(B5)が1で、INT(B8)はエラーになるので、
この関数というかEXCELでは1900年1月1日からしか対応していないみたいですね。
私の持っているEXCELが古いから(EXCEL2000)?
あるリスト作成に、このDATEDIFを使うつもりだったんですが、
無理そうですので違う手を考える事にします。
記述:2012年03月頃
Twitter Facebook Google+ はてな Pocket LINE
管理人による書き込みの確認後、荒らし書き込みでない場合に表示させていただきます。
悪意ある書き込みや挑発的な書き込みと思われる内容は、表示させません。
その為、ちょっと書き込みから表示までに時間がかかってしまいます。ご了承下さい。
<No.2> 管理者
情報ありがとうございます。
日付に400年足してみると、差は正しく出ているようですね。
後は、表示か・・・。
1899/12/31以前を対象にエクセルから計算しようとしてもエラーになるようで、実際の表示の日付と、計算用に400足した日付は別に持つ必要がありそうですね。
バグで1900年2月29日が存在しているとは知りませんでした。
確かに1900年2月29日を入れてもエラーとならないですね。
上での1900/1/1から2012/3/29も1日多い事になるようですね。
ありがとうございました。
(2014/04/21)
<No.1> 通りすがり
DATEDIFだけの問題ではなくそもそもExcelが1900年1月1日~9999年12月31日しか受け付けないからだと。
400年周期で閏年の例外が回ることを考えると、400年の倍数をかけてみたら?
ex) 1850年→5850年
見た目はSFチックだが、計算上は問題ないはず。(しかも1900年2月29日が存在するバグも回避できる)
(2014/04/19)
情報ありがとうございます。
日付に400年足してみると、差は正しく出ているようですね。
後は、表示か・・・。
1899/12/31以前を対象にエクセルから計算しようとしてもエラーになるようで、実際の表示の日付と、計算用に400足した日付は別に持つ必要がありそうですね。
バグで1900年2月29日が存在しているとは知りませんでした。
確かに1900年2月29日を入れてもエラーとならないですね。
上での1900/1/1から2012/3/29も1日多い事になるようですね。
ありがとうございました。
(2014/04/21)
<No.1> 通りすがり
DATEDIFだけの問題ではなくそもそもExcelが1900年1月1日~9999年12月31日しか受け付けないからだと。
400年周期で閏年の例外が回ることを考えると、400年の倍数をかけてみたら?
ex) 1850年→5850年
見た目はSFチックだが、計算上は問題ないはず。(しかも1900年2月29日が存在するバグも回避できる)
(2014/04/19)
暑さの一番の原因はなんだと思いますか?
あなたの支持する政党はどの党ですか?
今のページの関連ページのリストへ
ザ・覚書のトップページに戻る
全ページのリストへ