- ベストアンサー
エクセルIF関数
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
一例です。 VLOOKUP関数の近似値型で照合する方法が一般的で、範囲バリーエーションの増減は 範囲表の変更で済みます。 別セル範囲(仮にF:G)に次の様な表を定義する。 F G 1 0 5000 2 40 7000 3 80 9000 4 120 11000 C2に=IF(COUNT(A2:B2)>1,IF(VLOOKUP(A2,F:G,2,TRUE)=B2,1,2),"")を入力、下方向にコピー
その他の回答 (3)
- hirokoon
- ベストアンサー率38% (7/18)
確認する式を作るよりも、正しいと分かっている式 “=IF(A2<40,5000,IF(A2<80,7000,IF(A2<120,9000,11000)))” をB2に貼り付け、フィルコピーしてしまった方が早いです。 もし学生の作ったエクセル式が正しいかどうか判定するのなら、 A列に39、40、79、80、119、120を与えてB列が所定の値になるか 確認してください(強いて言うならA列にこの値を与え、正しい値なら “○”を返す式《例えば“=IF(B2=5000,"○","")”》をC列に書いても良い)。 エクセル式では、たとえば“A2”も“Sheet1!$A$2”と表現しても誤りでは ないので、お望み通りの検証の仕方はたとえ可能でも困難です。
- bunjii
- ベストアンサー率43% (3589/8249)
IF関数のみの入れ子では以下の式が使えます。 =IF(B2=IF(A2<40,5000,IF(A2<80,7000,IF(A2<120,9000,11000))),1,2)
- keithin
- ベストアンサー率66% (5278/7941)
たとえば =IF(A2="","",IF(LOOKUP(A2,{0,40,80,120},{5000,7000,9000,11000})=B2,1,2)) あるいは今のその数字の刻みがその通りヤリタイ事なら =IF(A2="","",IF(INT(A2/40)*2000+5000=B2,1,2)) でもできます。