少し前にもDATEDIF関数の事で質問を出したのですが、
その作業中のことです。
開始日から終了日までの、期間月数を出すため、
=DATEDIF(N40-DAY(N40),DATE(YEAR(N41),MONTH(N41)+1,0),"M")
という数式を入れています。
(N40が開始年月・N41が終了年月です)
年月のみの入力なので、開始年月は日を相殺し、終了年月はその月末を出すようにしてます。
で、大抵の値では上手くいくのですが、
開始年月 2000/9
終了年月 2004/4
の時だけ上手くいきません。
本当は「44」という値が欲しいのに、「43」になります。
どうやら終了年月が絡んでいるっぽいのですが、何が悪いのかが分かりません。
分かる方がいらっしゃったら教えて下さい。
No.3ベストアンサー
- 回答日時:
式中の
N40-DAY(N40)
や
DATE(YEAR(N41),MONTH(N41)+1,0)
は、日にゼロを指定している為、日付シリアル値は「開始年月の前月の末日」と「終了年月の末日」になります。
DATEDIFの単位に"M"を指定した場合に返される値は「満月数」ですから「開始年月の前月が大の月」かつ「終了年月が小の月」の場合、日数が「満一ヶ月に1日足りない日数」になります。
開始年月 2000/9
終了年月 2004/4
の場合、
2000/9の前月の2000/8が31日までの大の月
2004/4が30日までの小の月
になりますから、これは「43ヶ月と30日」で、満43月と計算されます。
正しく計算するなら
「開始年月の1日(ついたち)」から「終了年月の1日(ついたち)」までの満月数+1
とすべきです。
以下の式が正しい式です。
=DATEDIF(DATE(YEAR(N40),MONTH(N40),1),DATE(YEAR(N41),MONTH(N41),1),"M")+1
日付を正確に計算したいなら、
DATE(YEAR(N41),MONTH(N41)+1,0)
のような「12月だったらDATEに指定した月が13月になる」とか「0日」とか、年や月を跨ぐ計算を排除すべきです。年や月を跨ぐと期待しない結果になりますので。
そうだったんですねー。30日だと満月数にカウントしてくれないんですね(T_T)
勉強になりました。これから気をつけて使わねば…です。
No.4
- 回答日時:
こんにちは。
maruru01です。開始と終了を含む期間延べ月数を求めるなら、DATEDIF関数を使用しなくても出来ます。
=(YEAR(N41)-YEAR(AN40))*12+MONTH(N41)-MONTH(N40)+1
No.2
- 回答日時:
1日はどの月でも固定ですが末日は28~31まで変化します。
N40-DAY(N40)は、開始日の前月末日
DATE(YEAR(N41),MONTH(N41)+1,0)は終了日の月末日
=DATEDIF(N40-DAY(N40),DATE(YEAR(N41),MONTH(N41)+1,0),"M")
=DATEDIF("2000/8/31","2004/4/30","M")
=(2004-2000)*12+(4-8)-(30<31)*1
=4*12-4-1=43
1日で比較すれば
=DATEDIF(N40-DAY(N40)+1,DATE(YEAR(N41),MONTH(N41)+1,1),"M")
=DATEDIF("2000/9/1","2004/5/1","M")
=(2004-2000)*12+(5-9)-(1<1)*1
=4*12-4-0=44
となります。
=DATEDIF(N40-DAY(N40)+1,N41-DAY(N41)+1,"M")+1
でも同様の結果になります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java Java 年数計算 3 2023/01/28 10:52
- その他(プログラミング・Web制作) python 気象データの取得 2 2023/06/20 23:54
- 不動産業・賃貸業 賃貸の解約について質問です。 不動産会社の言うことが分からず質問させていただきました。 新築のマンシ 1 2022/08/06 19:35
- その他(住宅・住まい) 賃貸の解約について質問です。 不動産会社の言うことが分からず質問させていただきました。 新築のマンシ 6 2022/08/06 19:42
- Excel(エクセル) Excelの計算式の意味が知りたい 3 2023/06/19 17:49
- Excel(エクセル) Excelの関数 5 2023/07/07 05:26
- Excel(エクセル) Excelで2つのセルにある日付を参照させ期間として1つのセルに表示したいです。 例 c9セルに開始 3 2023/04/06 12:16
- Excel(エクセル) 指定した値以上の中で最小値を出したい 7 2022/10/24 21:12
- Excel(エクセル) エクセルシートの合計の変動 5 2022/04/05 15:56
- Excel(エクセル) セルに特定の色が出た時だけ、式を発動させたい 4 2022/06/17 10:32
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
白血球が多いとどんな心配があ...
-
検便についてです。 便は取れた...
-
彼女のことが好きすぎて彼女の...
-
EXCELで条件付き書式で空白セル...
-
エクセル指定した範囲からラン...
-
ある範囲のセルから任意の値を...
-
甲状腺が腫れているが血液検査...
-
2つの数値のうち、数値が小さい...
-
小数点以下を繰り上げたものを...
-
リンク先のファイルを開かなく...
-
これって喉仏ですか? 私は女性...
-
一番多く表示のある値(文字列...
-
MIN関数で空白セルを無視したい...
-
勃起する時って痛いんですか? ...
-
Excelで""で囲む方法
-
精子が黄色?
-
EXCELで式からグラフを描くには?
-
アクエリアスが苦く感じる
-
エクセルのラベルの値(文字列...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
白血球が多いとどんな心配があ...
-
検便についてです。 便は取れた...
-
勃起する時って痛いんですか? ...
-
彼女のことが好きすぎて彼女の...
-
腕を見たら黄色くなってる部分...
-
精子が黄色?
-
EXCELで条件付き書式で空白セル...
-
至急!尿検査前日にオナニーし...
-
これって喉仏ですか? 私は女性...
-
中出しをするとお腹が痛い・・・。
-
甲状腺が腫れているが血液検査...
-
2つの数値のうち、数値が小さい...
-
尿検査前日に自慰行為した時の...
-
EXCELで式からグラフを描くには?
-
小数点以下を繰り上げたものを...
-
ある範囲のセルから任意の値を...
-
口の中に黒い血の塊
-
【Excelで「正弦波」のグラフを...
-
エクセル指定した範囲からラン...
おすすめ情報