• ベストアンサー

=DATEDIF関数のエラー

Excel2007にて下記の関数をE2に書いてありD2にはToday()を書いてあります。(特にこの場合他の理由があってC2はあえて空欄) =DATEDIF(B2,D2,"Y")&"/"&DATEDIF(B2,D2,"YM")&"/"&DATEDIF(B2,D2,"MD") 今,本日(2009/2/3)B2に2009/01/03と入れると0/1/0と返ってきて正解ですが不思議なことに 2009/01/04と入れると0/1/1となるべき所0/0/27となってしまいます。 以下一月四日以降を入れると正しく計算されません。 原因が分からず困っています。教えて下さい。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

DATEDIF関数はそもそも計算にバグがあるようです。 計算終了月の日数-計算開始の日+計算終了の日 と計算しているようです。今月は28日なので、上記の計算は 28-4+3となるので、27になるようですね。 MD、YDなどはどうしても正確に計算されないようです。 これはバグとして沢山のページがあります。 http://www.google.co.jp/search?q=excel+datedif+MD+%E3%83%90%E3%82%B0&lr=lang_ja&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&client=firefox-a

skyc42
質問者

お礼

Excelを頭から信じていたのでバグとは驚きました。 有り難うございました。

その他の回答 (1)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

DATEDIF関数の問題点です。 以下のURLを参考にして下さい。

参考URL:
http://www.niji.or.jp/home/toru/notes/50.html
skyc42
質問者

お礼

いやー勉強になりました。 有り難うございました。

関連するQ&A

専門家に質問してみよう