• ベストアンサー

可能ですか?

暦には、30日月や31日月、28日月 等がありますよね。 例えばですけど、 2003/2/28~2003/4/30 → ”2ヶ月間” 2003/2/28~2003/3/31 → ”1ヶ月間” 2003/6/30~2003/8/31 → ”2ヶ月間” 2003/9/30~2003/12/31 → ”3ヶ月間” と言うように、2・4・6・9・11月の月末日(28or30日) から未来月の月末日が31日であってもその超えた数日分をカウントさせずに期間を計算させる方法はありますか? 日数じゃなく月そのもので期間計算したいのです。

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

  • ベストアンサー
  • arukamun
  • ベストアンサー率35% (842/2394)
回答No.1

こんばんは 月末日から月末日という事で限定されているのであれば、月の差分で良いので簡単ですね。 A列が開始日、B列が終了日であればC1セルに =DATEDIF(A1,B1,"M")&"ヶ月" 全角で表示したいのであれば =JIS(DATEDIF(A1,B1,"M"))&"ヶ月" で良いと思います。 C2セル以降はC1セルをコピーしてペーストすれば良いです。

aaa0123
質問者

お礼

教えて頂いたやり方であっさりできました。。。。 ありがとうございました。

その他の回答 (3)

  • sakenomo
  • ベストアンサー率52% (35/67)
回答No.4

#3 です。 もっと簡単にできました。 =(YEAR(B1)-YEAR(A1))*12+MONTH(B1)-MONTH(A1)&"ヶ月間" また、↓にすろと、期日の前後がどちらでもOKです。 =ABS((YEAR(B1)-YEAR(A1))*12+MONTH(B1)-MONTH(A1))&"ヶ月間"

aaa0123
質問者

お礼

お礼が遅くなりました。すみません。 いろいろと試させてもらいました。 ありがとうございました。

  • sakenomo
  • ベストアンサー率52% (35/67)
回答No.3

エクセルでしたら、 A1 に 2003/2/28 B1 に 2003/4/30 として、 C1 に =IF(YEAR(A1)=YEAR(B1),MONTH(B1)-MONTH(A1),(YEAR(B1)-YEAR(A1))*12+MONTH(B1)-MONTH(A1))&"ヶ月間" で、できると思います。

aaa0123
質問者

お礼

いろいろな数式があるのですね。 勉強になりますo(^o^)o 私の数式記憶帳に記録させて頂きました。 ありがとうございました。

noname#10001
noname#10001
回答No.2

aaa0123さん、こんにちは。 Excelでの計算でよいでしょうか? month関数というのがあり、年月日のデータから月のみを取り出すことができます。 例)A1のセルに2003/2/28と入力しておき、   A2のセルに「=month(A1)」と入力すると、   得られる結果が2になります。 あとは、別々に取り出した「月」のデータを使って計算できます。 でも、これって年を超える場合に対応できていませんね。 すみません。う~ん。

関連するQ&A

専門家に質問してみよう