0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

excelのバージョンとDATEDIFの注意点

Posted at

EXCELのDATEDIFには罠がある

DATADIF関数は日付の差を計算するための関数です。DATEDIFの使い方の詳細は以下URL参照してください。
https://support.office.com/ja-jp/article/datedif-%E9%96%A2%E6%95%B0-25dba1a4-2812-480b-84dd-8b32a451b35c
上のURLには

”重要: 制限事項があるため、"MD" 引数の使用はお勧めしません。 以下の既知の問題のセクションを参照してください。”

と…書かれてはいるものの、まさか自分がハマるとは思わなかったです。
EXCEL365で A1に2019/01/02、 A2に2020/01/01、 A3に=DATEDIF(A1,A2,"MD")
を記入すると、以下のように30(日)が戻り値として出てきます。
excel365.JPG

しかし、EXCEL2007で同じ数値を入力すると…143が戻り値として出てきます。
excel2007.PNG
エラーを回避するために以下URLでは
https://support.microsoft.com/ja-jp/help/2678753

=IF(AND(INFO("release")="12.0",MONTH(DATE(YEAR(A2),2,29))=2,MONTH(A2)=1,DAY(A1)>DAY(A2)),
DATEDIF(A1,A2,"MD")-(DATEDIF(DATE(2011,1,2),DATE(2012,1,1),"MD")-30),
DATEDIF(A1,A2,"MD"))

という長い関数で回避しろとのこと。早速やってみたら…できた!!

image.png

けど、DATEDIFはエラーが起こるということを念頭に使わないといけないようです。色んなバージョンのExcelを使っている人がいる環境で共同作業するようなことがある場合は注意が必要です。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?