『関数について』(エフワン)
2つの期間の月数を算定したいのですが、一部正確な数字が出ず、
困っています。ご教示いただければ助かります。
1 算定方法
・4月1日〜翌年3月31日までの期間において、開始日と満了日の
間の月数を関数で表示する。
・開始日、満了日ともに月の途中から始まっていても1か月とカウント
2 作った関数
IFERROR(DATEDIF(O14,P14,"M")+1,"")
※O14は開始日、P14は満了日を表示
3 間違った数字が出た事例
開始日:令和7年4月29日
満了日:令和8年3月27日
→ 12月と表示されるのが正解だが、11月と表示される。
原因がわからず、困っているところです。
お手数をおかけしますが、アドバイスいただければ助かります。
< 使用 Excel:Microsoft365、使用 OS:Windows11 >
>4月1日〜翌年3月31日までの期間において この条件であれば =MONTH(P14)+(MONTH(P14)<MONTH(O14))*12-MONTH(O14)+1 ではどうだろうか?
満了日の月が開始日の月より小さいということは翌年なので満了日の月に12を足してから開始日の月を引く。 (ねむねむ) 2026/05/22(金) 09:23:01
=12*(YEAR(P14)-YEAR(O14))+MONTH(P14)-MONTH(O14)+1
(詠み人知らず) 2026/05/22(金) 09:54:02
DATEDIF関数なら 開始日の1日 終了日の翌月の1日 にする =DATEDIF(EOMONTH(O14,-1)+1,EOMONTH(P14,0)+1,"m") (はてな) 2026/05/22(金) 10:48:39
詠み人知らずさま、ありがとうございます。
この関数だと開始日より満了日が早い場合(他の計算式で出る場合があります)に
マイナス表示されるので、よりありがたいです。
はてなさま、ありがとうございます。
試してみましたが、#VALUE表示になってしまいます。
(エフワン) 2026/05/22(金) 12:57:13
>#VALUE表示になってしまいます。 ならないけど··· =DATEDIF(EOMONTH(MIN(O14:P14),-1)+1,EOMONTH(MAX(O14:P14),0)+1,"M") (はてな) 2026/05/22(金) 13:22:51
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.