プロが教える店舗&オフィスのセキュリティ対策術

お世話になります。

EXCEL2002で契約書管理をしています。
次回更新日を自動計算できるようにしてあるのですが、
別セルに「解約」、「休止」と入力した場合、次回更新日は計算されずに表記もされない方法を教えてください。

お手数ですが、よろしくお願いいたします。

A 回答 (3件)

nikoichiさん、おはようございます。



更新日を表示するセルに
=IF(OR(別セル="解約",別セル="休止"),"",更新日を求める計算式)
と記載して下さい。

式中の「別セル」には実際のセル名を、計算式は既存の式を入れて下さい。

この回答への補足

早速のご回答有り難うございます。
A列に「解約」、「休止」と入力しています。
各列には、以下の内容を入力してあるので
教えていただいたとおり!? に式を

=IF(OR(A2="解約",A2="休止"),"",(TODAY()<R2,R2,DATE(YEAR(R2)+CEILING(1+DATEDIF(R2,TODAY(),"Y"),Q2),MONTH(R2),DAY(R2)))

としましたが、「入力した数式は正しくありません」となってしまいます。
なぜでしょうか?
お手数ですが、詳しく教えてください。

O列:契約開始日
P列:契約期間
Q列:更新年月日
R列:初回更新日
S列:次回更新日

補足日時:2011/11/08 09:55
    • good
    • 0

>次回更新日を自動計算できるようにしてあるのですが


先日質問して回答があったのではないかと思うが、その式の前に=IF(OR(別セル番地="解約",別セル番地="休止"),"",現在の式)のようなことをすれば良いのでは。IF関数など常識で、質問点はAND関数ぐらいか。その点も質問では掴めていないようだ。AND関数を使わず、IF関数のネストでも出来るだろう。
「別セル」なんて一般的な書き方をせず、具体的に、行・列・シートを明示して、例でも挙げて質問するものだ。
「解約」、「休止」が別列(同行ではあると思うが)に入れてある場合もありえるだろうから。
    • good
    • 0

作業前の式を壊してしまっては,何にもなりません。



作業前の式:
=IF(TODAY()<R2,R2,DATE(YEAR(R2)+CEILING(1+DATEDIF(R2,TODAY(),"Y"),Q2),MONTH(R2),DAY(R2)))

作業後:
=IF(OR(所定のセル="解約",所定のセル="休止"),"",IF(TODAY()<R2,R2,DATE(YEAR(R2)+CEILING(1+DATEDIF(R2,TODAY(),"Y"),Q2),MONTH(R2),DAY(R2))))


勿論言わずもがなと思いますが,「所定のセル」の部分をちゃんと直して使います。
    • good
    • 0
この回答へのお礼

お世話になりました。
解決いたしました。

お礼日時:2011/11/08 12:05

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