• ベストアンサー

DATEDIF関数が機能しない理由は?

DATEDIF関数を用いて正確な期間(年、月、日)を求めたいのですが、 自分で作表したEXCELシートで指定してみても、「エラー508」と表示 されてうまく機能しません。 どうしてこうなるのか理由を教えて下さい。 

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

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

>正確な期間はDATEDIFでは求められないのならば、どう計算したら(どの関数を使えば)よいのでしょうか。 前述の http://www.niji.or.jp/home/toru/notes/50.html のページの次のページ http://www.niji.or.jp/home/toru/notes/51.html で「正しく動く、VBAで自作したユーザー定義関数」が紹介されていますので、それを使いましょう。 紹介したページの一番下に 関連情報: No.51 DATEDIFの謎を追え(2) ~ DATEDIF関数の実装(VBA編) って書いてあるんで、それを見ると思って回答に書かなかったけど「そういうのがあるなら最初から書いておいて」って話ですよね。大変失礼しました。

noname#212274
質問者

お礼

何度もご回答いただき、ありがとうございました。 まずはEXCELでやってみてから、これも試してみたいと思います。

その他の回答 (4)

回答No.4

追記。 DATEDIF関数はLotus1-2-3との互換性を保つために用意されている関数ですが、前述のように、計算を間違う不具合があって、Lotus1-2-3と同じ結果が得られません。 また、OpenOfficeのCalcにも存在しません。 計算を間違う不具合の詳細について http://www.niji.or.jp/home/toru/notes/50.html で紹介されていますが「事実上、DATEDIFは使い物にならない」と言う事が判ります。 なので >DATEDIF関数を用いて正確な期間(年、月、日)を求めたい と思っても、DATEDIF関数が正確な期間を返さないので、正確な期間はDATEDIFでは求められません。 正確な期間を計算したいなら「DATEDIFを使わないで計算」しないといけません。

noname#212274
質問者

お礼

再度のご回答ありがとうございます。 正確な期間はDATEDIFでは求められないのならば、どう計算したら (どの関数を使えば)よいのでしょうか。

回答No.3

Excel 2003までは「分析ツール」というアドインを組み込まないと、DATEDIFは使えません。 「分析ツール」のアドインの組み込みを必要とする関数は以下の通り。 DATEDIF EDATE EOMONTH NETWORKDAYS WEEKNUM WORKDAY YEARFRAC なお、DATEDIF関数は、特定の条件で計算を間違う不具合がある事が知られており、そのためサポート対象外の「隠し関数」になっていて、公式には「存在しない」と言う事になっています。

noname#212274
質問者

お礼

ご回答ありがとうございます。 アドインというのが、私にはよく分かりませんが。

  • qualheart
  • ベストアンサー率41% (1451/3486)
回答No.2

ほんとにExcelを使用してますか? 使ってるのはExcelじゃなく、OpenOffice Calcじゃないですか? Excelで「エラー508」なんてエラーが表示されることはないと思います。 エラー508は、OpenOffice Calcで表示されるエラーだと思うのですが、違いますか? ちなみにOpenOfficeではDateif関数はないので、エラーになります。 ご参考まで。

noname#212274
質問者

お礼

ご回答ありがとうございます。 おっしゃる通りでした。 再度EXCELで挑戦してみます。  

  • choco_jiji
  • ベストアンサー率31% (528/1701)
回答No.1

openofficeですか? エラー508はカッコ内のエラーらしいです。 もしexcelの関数をコピーしたのなら 区切りは「,」ではなく「;」です。 それと、どう入力したらエラーになったのか実際に記入いただけると ピンポイントで間違い部分を指摘できると思いますよ。

参考URL:
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1231839352
noname#212274
質問者

お礼

ご回答ありがとうございます。 区切りを直して、再挑戦してみます。

noname#212274
質問者

補足

区切りを直してみましたが、やっぱり「#NAME?」となってしまい、 だめな様です。

関連するQ&A