• ベストアンサー

エクセルIF関数

エクセルで関数を教えてください 画像 Aに数字が入ってます Aの数字が  A<40だったらBに5000、40<=A<80 Bに7000 、80<=A<120 Bに9000 120<=A Bに11000を入れてます この数式が合っていればCに”1”間違っていれば”2”を入れる関数が知りたいです よろしくお願いいたします。

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

  • ベストアンサー
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.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)
回答No.3

確認する式を作るよりも、正しいと分かっている式 “=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)
回答No.2

IF関数のみの入れ子では以下の式が使えます。 =IF(B2=IF(A2<40,5000,IF(A2<80,7000,IF(A2<120,9000,11000))),1,2)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

たとえば =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)) でもできます。

関連するQ&A