質問

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

通報する

回答 (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」という日付が求まります。
なお、分析ツールは、メニューの[ツール]→[アドイン]→[分析ツール]にチェックをすると利用可になります。

この回答へのお礼

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

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

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

この回答へのお礼

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

不細工ですが…

Aセル:=TODAY()
Bセル:=A1+MONTH(365/2)
Cセル:=B1+MONTH(365/12*4)+365

嫌だなぁ…これw

この回答へのお礼

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

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」

この回答へのお礼

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

このQ&Aは役に立ちましたか?11 件

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

新しく質問する

このQ&Aを見た人はこんなQ&Aも見ています

注目の記事

フリーアナウンサー長谷川豊氏の新コーナー「このニュースどう思います?」がスタート!

元フジテレビのフリーアナウンサー長谷川豊氏から気になるニュースについておしトピの皆さんに質問します! 皆さんの意見をもとに長谷川豊氏がコラムを執筆します! アプリリリース記念として最大1万分のアマゾンギフト券プレゼントキャンペーンも実施中!

このQ&Aを見た人が検索しているワード


新しく質問する

このカテゴリの人気Q&Aランキング

毎日見よう!教えて!gooトゥディ