- ベストアンサー
エクセル IF関数 複数条件?
いつもお世話になります 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)))) と やたらと長い条件設定になっています 結果は正しいのですが、もっとスッキリ出来る方法を教えて頂きたいのです。
- みんなの回答 (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) ほかにもいろいろあるでしょう。
その他の回答 (1)
- hallo-2007
- ベストアンサー率41% (888/2115)
=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) といった感じは如何でしょうか。
お礼
ありがとうございます。
お礼
ありがとうございます。 そうですね 掛け算もあるのを忘れていました。