• ベストアンサー

DATEDIF関数の 引数 単位で”md”

DATEDIF関数の 引数 単位で”md”で A1に2000/1/1 B1に2000/2/1と入力してあるとします =DATEDIF(A1、B1、”md”)の値が 0 になるのはどうしてでしょう ちなみに ”md”は1ヶ月未満の日数とあるのですが

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

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

「1ヶ月未満の日数」というのは、判りやすく言うと 「x年yヶ月z日のzの部分」という意味です。というわけで、yヶ月 ちょうどの場合は0になるんです。

gogogo123
質問者

お礼

「x年yヶ月z日のzの部分」という意味です。< と言う意味だったのですね 解りました ありがとうございました

その他の回答 (2)

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.3

=DATEDIF(A1,B1,"md") =IF(DAY(A1)>DAY(B1),DAY(DATE(YEAR(B1),MONTH(B1),0))+DAY(B1)-DAY(A1),DAY(B1)-DAY(A1)) で置き換えができます。 日にちの引き算で結果がマイナスの場合、終了日の前月の日数が加算される。 同じ日にちの場合は0日になります。 ちなみに#2の方の =DATEDIF(A1,B1,"d") =B1-A1 になります。通常は+1日することが多いですが...

gogogo123
質問者

お礼

こんな テクニックがあったのでうすね ありがとうございました

  • taocat
  • ベストアンサー率61% (191/310)
回答No.2

ヘルプ抜粋: md: 開始日から終了日までの日数。 この場合、月と年は考慮されません。 このように年と月が考慮されず日にちだけ比較してるので0になるわけです。 御存知でしょうが期間の日数を求めるには "md" ではなくて "d" を使います。 =DATEDIF(A1,B1,"d") 以上。

gogogo123
質問者

お礼

"md" ではなくて "d" を使います。< そう言われてみれば そうですね ありがとうございました

関連するQ&A