- ベストアンサー
DATEDIF関数が機能しない理由は?
DATEDIF関数を用いて正確な期間(年、月、日)を求めたいのですが、 自分で作表したEXCELシートで指定してみても、「エラー508」と表示 されてうまく機能しません。 どうしてこうなるのか理由を教えて下さい。
- みんなの回答 (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編) って書いてあるんで、それを見ると思って回答に書かなかったけど「そういうのがあるなら最初から書いておいて」って話ですよね。大変失礼しました。
その他の回答 (4)
- chie65536(@chie65535)
- ベストアンサー率44% (8742/19840)
追記。 DATEDIF関数はLotus1-2-3との互換性を保つために用意されている関数ですが、前述のように、計算を間違う不具合があって、Lotus1-2-3と同じ結果が得られません。 また、OpenOfficeのCalcにも存在しません。 計算を間違う不具合の詳細について http://www.niji.or.jp/home/toru/notes/50.html で紹介されていますが「事実上、DATEDIFは使い物にならない」と言う事が判ります。 なので >DATEDIF関数を用いて正確な期間(年、月、日)を求めたい と思っても、DATEDIF関数が正確な期間を返さないので、正確な期間はDATEDIFでは求められません。 正確な期間を計算したいなら「DATEDIFを使わないで計算」しないといけません。
お礼
再度のご回答ありがとうございます。 正確な期間はDATEDIFでは求められないのならば、どう計算したら (どの関数を使えば)よいのでしょうか。
- chie65536(@chie65535)
- ベストアンサー率44% (8742/19840)
Excel 2003までは「分析ツール」というアドインを組み込まないと、DATEDIFは使えません。 「分析ツール」のアドインの組み込みを必要とする関数は以下の通り。 DATEDIF EDATE EOMONTH NETWORKDAYS WEEKNUM WORKDAY YEARFRAC なお、DATEDIF関数は、特定の条件で計算を間違う不具合がある事が知られており、そのためサポート対象外の「隠し関数」になっていて、公式には「存在しない」と言う事になっています。
お礼
ご回答ありがとうございます。 アドインというのが、私にはよく分かりませんが。
- qualheart
- ベストアンサー率41% (1451/3486)
ほんとにExcelを使用してますか? 使ってるのはExcelじゃなく、OpenOffice Calcじゃないですか? Excelで「エラー508」なんてエラーが表示されることはないと思います。 エラー508は、OpenOffice Calcで表示されるエラーだと思うのですが、違いますか? ちなみにOpenOfficeではDateif関数はないので、エラーになります。 ご参考まで。
お礼
ご回答ありがとうございます。 おっしゃる通りでした。 再度EXCELで挑戦してみます。
- choco_jiji
- ベストアンサー率31% (528/1701)
openofficeですか? エラー508はカッコ内のエラーらしいです。 もしexcelの関数をコピーしたのなら 区切りは「,」ではなく「;」です。 それと、どう入力したらエラーになったのか実際に記入いただけると ピンポイントで間違い部分を指摘できると思いますよ。
お礼
ご回答ありがとうございます。 区切りを直して、再挑戦してみます。
補足
区切りを直してみましたが、やっぱり「#NAME?」となってしまい、 だめな様です。
お礼
何度もご回答いただき、ありがとうございました。 まずはEXCELでやってみてから、これも試してみたいと思います。