• ベストアンサー

Excel:セルに入力されている日付の、半年後の日付を自動表示させたい

誰か教えてください。 A列のセルに「2004/3/4」という日付が入っていたとします。 A列の日付を参照して、B列に「半年後」、C列に「16ヶ月後」という日付を自動表示させたいのですが、そういう事って出来ますか? 出来るとしたらどんな関数を書けばいいのでしょう? 教えてください!

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

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.4

こんにちは。maruru01です。 基本形(半年後)は、 =DATE(YEAR(A1),MONTH(A1)+6,DAY(A1)) です。 (16ヶ月後は、数式中の6→16にする) ただし、月末の場合は問題があります。 例えばA1に、「2004/8/31」と入力すると、半年後は、「2005/3/3」になります。 これを、「2005/2/28」にするなら、数式を、 =MIN(DATE(YEAR(A1),MONTH(A1)+6,DAY(A1)),DATE(YEAR(A1),MONTH(A1)+6+1,)) とします。 また、分析ツールが利用出来るのなら、 =EDATE(A1,6) としても、「2005/2/28」という日付が求まります。 なお、分析ツールは、メニューの[ツール]→[アドイン]→[分析ツール]にチェックをすると利用可になります。

LKFRM
質問者

お礼

回答ありがとうございます! 基本形は#1様が教えてくださったやり方と同じようですね? >(16ヶ月後は、数式中の6→16にする) という例はわかり易くて非常に助かります。 分析ツールは使った事がありません・・・まあそれほどのデータを作成している訳ではないので(^^;) ともあれ、ありがとうございました。

その他の回答 (3)

回答No.3

下記の書き込みで… TODAY()ではなく、2004/3/4を記入して下さい。 済みません。。<(_ _)>

LKFRM
質問者

お礼

追記ありがとうございます。 為になります。

回答No.2

不細工ですが… Aセル:=TODAY() Bセル:=A1+MONTH(365/2) Cセル:=B1+MONTH(365/12*4)+365 嫌だなぁ…これw

LKFRM
質問者

お礼

回答ありがとうございます! なるほど!? ちょっと「力技でねじ伏せる」って感じですねw。でもこれはこれで納得です。色々なやり方があるんですね。勉強になりました。

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.1

A2に「2004/3/4」として B2=DATE(YEAR(A2),MONTH(A2)+6,DAY(A2)) C2=DATE(YEAR(A2),MONTH(A2)+16,DAY(A2)) です。 ただし表示される日が月末の場合翌月に表示がずれることがあります。 「2003/8/31」=半年後⇒「2004/2/31」⇒「2004/3/3」

LKFRM
質問者

お礼

回答ありがとうございます! 単純に6足せば良いんですね。なるほど。納得です。ありがとうございました!

関連するQ&A