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

いつもお世話になります
IF関数で複数条件を記入する場合
現在は
=IF(AND(A16="aaa",H16>=81),H16-80,IF(AND(A16="aaa",H16>=1),H16+80,IF(AND(A16="bbb",H16>=81),H16-80,IF(AND(A16="bbb",H16>=1),H16+80,H16))))
と やたらと長い条件設定になっています
結果は正しいのですが、もっとスッキリ出来る方法を教えて頂きたいのです。

A 回答 (2件)

> =IF(AND(A16="aaa",H16>=81),H16-80,


> IF(AND(A16="aaa",H16>=1),H16+80,
> IF(AND(A16="bbb",H16>=81),H16-80,
> IF(AND(A16="bbb",H16>=1),H16+80,H16))))
>

え~、H16が81以上ならA16が"aaa"でも"bbb"でもH16-80で、H16が1
以上81未満ならA16が"aaa"でも"bbb"でもH16+80ですよね。じゃぁ

「A16が"aaa"または"bbb"」の場合に限り、H16が81以上なら-80、
H16が1以上81未満なら+80、H16が1未満なら0をH16に加算する。

とでも書き直せますね。

=H16+or(A16="aaa",A16="bbb")*if(H16>=81,-80,if(H16>=1,80,0))
=H16+or(A16="aaa",A16="bbb")*lookup(H16,{-1E9,1,81},{0,80,-80})
=H16+or(A16="aaa",A16="bbb")*(H16>=1)*if(H16>=81,-80,80)

ほかにもいろいろあるでしょう。
    • good
    • 0
この回答へのお礼

ありがとうございます。
そうですね 掛け算もあるのを忘れていました。

お礼日時:2009/02/04 21:44

=IF(OR(A16="aaa",A16="bbb"),IF(H16>=81,H16-80,IF(H16>=1,H16+80,H16)),H16)


少し短くなりますが
他項目もあるようでしたら 空いているセルに
例えば  J  K  L
   1 aaa  0  0
   2 bbb  1  80
   3    80  -80
と対応表でも作っておいて
=H16+COUNTIF(J1:J2,A16)*VLOOKUP(H16,K1:L3,2)
といった感じは如何でしょうか。
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2009/02/04 21:43

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