- ベストアンサー
期間が何か月か取得したい
A1に2013/1/1 A2に2013/12/31 と入ってる時に、 これが「12か月」という事を A3に表示させたいのですが、 どのような関数を使えばいいのでしょうか? DAYS360を使うのかなーと思ったのですが どのように使えばいいでしょうか? =DAYS360(A1,B1)/30 でいいのでしょうか? でも一か月が31日の月があっても対応できるのでしょうか?
- みんなの回答 (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」が返ってきます。 何かの参考にどうぞ。
お礼
ありがとうございました。