• ベストアンサー

Excel関数IFの循環参照について

お世話になります。 IF関数で、c1のセルに =IF(a1>=90,b1-1,(IF(a1>=80,b1-2,b1-3))) という式を作りました。 b1の値によって、c1は -1 等になりますが、c1の最低値は 0 にしたいのです。 e1 に、この結果を表示し、c1 は e1 を参照すれば可能ですが、外の方法は無いでしょうか?

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

  • ベストアンサー
  • gimmick
  • ベストアンサー率49% (134/270)
回答No.4

MAX(...と書こうとしたら既に回答されてしまった。 それはさておき、「B1-」をまとめる書き方もあります。参考までに。 =MAX(0,B1-IF(A1>=90,1,IF(A1>=80,2,3)))

hawk-k
質問者

お礼

実は、この式はもっと長くて、その一部分について質問させていただきました。おかげさまで、短く整理できます。ありがとうございました。

その他の回答 (3)

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.3

質問にある式を使って、 =MAX(IF(A1>=90,B1-1,(IF(A1>=80,B1-2,B1-3))),0) としたらどうでしょうか。

hawk-k
質問者

お礼

ありがとうございます。MAXは使用したことが無かったので、参考になりました。

  • 2002pon
  • ベストアンサー率48% (42/87)
回答No.2

こんにちは =IF((IF(a1>=90,b1-1,(IF(a1>=80,b1-2,b1-3))))<0,0, IF(a1>=90,b1-1,(IF(a1>=80,b1-2,b1-3)))) でOKでは?

hawk-k
質問者

お礼

ありがとうございます。

  • MSZ006
  • ベストアンサー率38% (390/1011)
回答No.1

算式が長くなりますが、 =IF(A1>=90,IF(B1-1<0,0,B1-1),IF(A1>=80,IF(B1-2<0,0,B1-2),IF(B1-3<0,0,B1-3))) とすれば最低値が0になります。

hawk-k
質問者

お礼

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