• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:特定の期間内に何か月あるかの計算方法)

特定期間内の月数の計算方法

このQ&Aのポイント
  • 特定の期間内に何か月あるかを計算する方法を教えてください。
  • 具体的には、平成20年1月1日から平成27年7月31日の間で、1)平成19年1月1日から平成20年5月31日まで、2)平成22年1月1日から平成22年12月31日まで、3)平成27年1月1日から平成27年8月31日まで、それぞれ何か月あるかを教えてください。
  • また、A1に平成20年1月1日、A2に平成27年7月31日を入力し、B1に数える初めの年月日、B2に数える最後の年月日を入力すると、月数の計算結果が得られる式を教えてください。

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

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

=DATEDIF(MAX(A1,B1),MIN(A2,B2),"m")+1 「DATEDIF」は「特定の条件化で計算を誤る不具合がある」ので「サポート対象外の関数」になっていて「公式には存在しない関数」なので注意して下さい。 なお、ご質問のケースで使うには「特定の条件」に一致しないので、問題は出ません。

その他の回答 (3)

回答No.5

更なる追記。 まず「計算したい期間の開始日」を考えます。 >平成20年1月1日から >1.平成19年1月1日から 計算期間の「開始日」は「大きい方」つまり「平成20年1月1日」になります。 >平成20年1月1日から >2.平成22年1月1日から 計算期間の「開始日」は「大きい方」つまり「平成22年1月1日」になります。 >平成20年1月1日から >3.平成27年1月1日から 計算期間の「開始日」は「大きい方」つまり「平成27年1月1日」になります。 この事から「計算したい期間の開始日」は「MAX(A1,B1)」になります。 次に「計算したい期間の終了日」を考えます。 >平成27年7月31日の間で、 >1.(略)から平成20年5月31日まで 計算期間の「終了日」は「小さい方」つまり「平成20年5月31日」になります。 >平成27年7月31日の間で、 >2.(略)から平成22年12月31日まで 計算期間の「終了日」は「小さい方」つまり「平成22年12月31日」になります。 >平成27年7月31日の間で、 >3.(略)から平成27年8月31日まで 計算期間の「終了日」は「小さい方」つまり「平成27年7月31日」になります。 この事から「計算したい期間の終了日」は「MIN(A2,B2)」になります。 「計算したい期間の開始日」から「計算したい期間の終了日」の「月数」を計算するのは「DATEDIF(開始日,終了日,"m")」で計算できます。 「開始日と終了日が同じ月」の場合、DATEDIFは「0」と返すので、DATEDIFの結果に「+1」して「DATEDIF(開始日,終了日,"m")+1」にします。 開始日は「MAX(A1,B1)」で、終了日は「MIN(A2,B2)」で求まるのですから、これを「DATEDIF(開始日,終了日,"m")+1」に当て嵌めると =DATEDIF(MAX(A1,B1),MIN(A2,B2),"m")+1 という式が完成します。 このように「何を計算すべきか、バラバラにして1つづつ考え、末端から積み上げていく」と、問題を解決できます(これを「ボトムアップ方式」と言います)

回答No.4

追記。 A1とA2の期間、B1とB2の期間について「開始日と終了日が逆になっている場合」は、正常に動作しません(「#NUM!」というエラーになります) また、B1、B2で示された期間が、A1、A2で示された期間を逸脱している場合(言い換えれば「重なりが無い場合」)、つまり「B2がA1よりも前」や「B1がA2よりも後」になっている場合も、正常に動作しません(「#NUM!」というエラーになります) また、結果は「数値」で求まるので、結果を出す式のセルの表示書式を「ユーザー定義」にして、定義内容を「#,##0"ヶ月"」にすれば「5ヶ月」のように表示されます。 「文字列で結果が欲しい」という場合は、式を =DATEDIF(MAX(A1,B1),MIN(A2,B2),"m")+1&"ヶ月" に変更します(文字列で結果を返す場合は、セルの表示書式は「文字列」にしましょう)

  • nabe3desu
  • ベストアンサー率46% (253/550)
回答No.3

=datedif(B1,B2,"Y")で年数 =datedif(B1,B2,"M")で月数 =datedif(B1,B2,"D")で日数 が表示されます。ちなみに、ご質問の1.は19ヶ月、3.は8ヶ月のじゃないでしょうか?

参考URL:
http://kokoro.kir.jp/excel/datedif.html