• ベストアンサー

期間が何か月か取得したい

A1に2013/1/1 A2に2013/12/31 と入ってる時に、 これが「12か月」という事を A3に表示させたいのですが、 どのような関数を使えばいいのでしょうか? DAYS360を使うのかなーと思ったのですが どのように使えばいいでしょうか? =DAYS360(A1,B1)/30 でいいのでしょうか? でも一か月が31日の月があっても対応できるのでしょうか?

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

  • ベストアンサー
  • tsubuyuki
  • ベストアンサー率45% (699/1545)
回答No.3

期間を調べる関数の一つ、DATEDIF関数を使うと良いかもしれません。 > A1に2013/1/1 > A2に2013/12/31 > A3に表示させたいのですが のであれば、A3セルに「=DATEDIF(A1,A2,"M")」でOKです。 これで、期間の“満月数”を返してくれます。 (関数の詳細は別途お調べくださいませ。) ですが、ご提示の例だとコレは「11(か月)」と返ってきてしまいます。 (1月1日の“満”12か月後は翌年の1月1日です。  当年の12月31日では12か月を“満たしていない”のですね。) なので、若干の工夫が必要です。 例えば、「終了日(A2セル)の“翌月の1日”」を求めるのも手です。 その一例として、なるべく簡単な関数を使って(例えばB2セルにテストとして)   =DATE(YEAR(A2),MONTH(A2)+1,1) と入力してやります(各関数については別途お調べください)。 そうすると、翌月の1日が返ってきますので、コレを利用します。 よって、例示の場合A3セルには   =DATEDIF(A1,DATE(YEAR(A2),MONTH(A2)+1,1),"M") としてやると、お望みの「満月数+1」が返ってきます。 何かの参考にどうぞ。

UKUMUZLSBTYA
質問者

お礼

ありがとうございました。

その他の回答 (2)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

両端日(この場合は終了日)を含む満月の計算という事なら =DATEDIF(A1,B1+1,"M") などのように。

UKUMUZLSBTYA
質問者

お礼

ありがとうございました。

  • okormazd
  • ベストアンサー率50% (1224/2412)
回答No.1

=YEARFRAC(A1,A2)*12

UKUMUZLSBTYA
質問者

お礼

ありがとうございました。

関連するQ&A