• ベストアンサー

エクセル 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)))) と やたらと長い条件設定になっています 結果は正しいのですが、もっとスッキリ出来る方法を教えて頂きたいのです。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.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) ほかにもいろいろあるでしょう。

hou66
質問者

お礼

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

その他の回答 (1)

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.1

=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) といった感じは如何でしょうか。

hou66
質問者

お礼

ありがとうございます。

関連するQ&A