電子書籍の厳選無料作品が豊富!

お世話になります。

EXCEL2002で契約書の更新管理をしています。
例えば、1997年11月12日契約開始、契約期間5年、更新期間3ヵ年自動更新の場合は、
O2:契約開始日 1997/11/12
P2:契約期間  5
Q2:更新期間  3
と入力し、
R2に初回更新日として計算式1(下記参照)を
S2に次回更新日として計算式2(下記参照)を
を入力しておりますが、上記の例のように入力すると、S2の次回更新日は 2005/11/11 のままで更新されません。
本日から見て次回の更新日がわかるようにするのは、計算式はどうすればいいのでしょうか?
お手数ですがよろしくお願いいたします。

※計算式1:=DATE(YEAR(O2)+P2,MONTH(O2),DAY(O2)-(DAY(1)))
※計算式2:=IF(TODAY()<R2,R2,DATE(YEAR(R2)+SUM(Q2,Q2*INT(DATEDIF(R2,TODAY(),"Y")/R2)),MONTH(R2),DAY(R2)))

A 回答 (1件)

計算式2について,1箇所ミスがあるようです。


誤記:
=IF(TODAY()<R2,R2,DATE(YEAR(R2)+SUM(Q2,Q2*INT(DATEDIF(R2,TODAY(),"Y")/R2)),MONTH(R2),DAY(R2)))

修正:
=IF(TODAY()<R2,R2,DATE(YEAR(R2)+SUM(Q2,Q2*INT(DATEDIF(R2,TODAY(),"Y")/Q2)),MONTH(R2),DAY(R2)))
ですね。

もう少しだけ簡略化すると
=IF(TODAY()<R2,R2,DATE(YEAR(R2)+CEILING(1+DATEDIF(R2,TODAY(),"Y"),Q2),MONTH(R2),DAY(R2)))
とかでしょうか。
    • good
    • 0
この回答へのお礼

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

お礼日時:2011/11/07 12:29

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