プロが教えるわが家の防犯対策術!

あるセルに日付が入力されています。
その日付けから、きっちり三年後を別のセルに表示させたいのです。
↓こんな感じで、その日が期限切れだよーと。
2008/11/19 → 2011/11/18

三年後なので、365×3=1095を加えて表示させていたのですが、その三年間にうるう年があると、1日足りないので、当然なのですが一日前の日付になりません。
今は、1日分多い1096を加えて表示させているのですが、このやり方はスマートじゃないといいますか、これが5年後ならばとか、いつの三年後を表示させるといった時に対応できないので、いい方法があったら教えていただけるとうれしいです。

A 回答 (4件)

仮にA1に日付があるなら


=DATE(YEAR(A1)+3,MONTH(A1),DAY(A1)-1)
でそうなります。
5年後なら+3の部分を+5にします。
    • good
    • 0
この回答へのお礼

ばっちりです!!
ありがとうございました。

以前、このような方法を試してみたのですが、1日の一日前が前の月の最後の日にうまくならなくてあきらめておりました。
早々にお返事を頂きました事もあわせてお礼申し上げます。
ありがとうございました。

お礼日時:2008/11/19 11:32

A1=2008/11/19 B1=3


C1=DATE(YEAR(A1)+B1,MONTH(A1),DAY(A1)-1)
C1にセルの表示形式、ユーザー定義で種類に「yyyy/m/d"期限切れだよ"」で
C1に2011/11/18期限切れだよ
    • good
    • 0
この回答へのお礼

おおー、経過年数をセル表示するのですね!
excellentです。
みなさん頭いいなー!

書式は硬めに赤字にしていました。
「期限切れだよー」は考えなかったです。

ありがとうございました!1

お礼日時:2008/11/19 11:43

回答番号:No.1です。


どちらの式も最後に-1が必要でした。
No.2の方の式になりますね。
=EDATE(A1,36)-1
=DATE(YEAR(A1)+3,MONTH(A1),DAY(A1)-1)
    • good
    • 0
この回答へのお礼

早々に回答を頂きありがとうございました。

アドインのチェックを入れてなく、インストールしないを選択したのでとりあえずNo.2の方の方を使用させて頂きました。

EDATE←初めて見ました!奥が深いですね。
今後も何かありましたらご指導下さい!
お世話になりました!!

お礼日時:2008/11/19 11:39

A1に


2008/11/19 だとして、
●ツール→アドイン→分析ツールに
チェックが入っていれば
=EDATE(A1,3*12)
3[年]*12[か月]という意味ですので、
36としてもだいじょうぶです。
●そうでないときは
=DATE(YEAR(A1)+3,MONTH(A1),DAY(A1))
    • good
    • 0

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