• 締切済み

IfとVlookupで関数

すみません。 エクセルはゆっくり噛み砕かないと理解できません。 今会社のファイルを作り直していて、コピーして取り敢えず使っています。 ファイルが無くて申し訳ないですが理解できる方お返事ください。 行Aに点数が入っています。 行Eの1列から順に400,500,600,700,800と入っています。 隣の行Fには、それぞれ、E.D.C.B.Aと評価が入っています。 行Bに、Aの点数が400未満ならE,700未満ならBと、表したいです。 この場合vlookupだけでは無理ですよね? vlookupだけで説明しているサイトがあって、どのように未満と判断出来るんだ?と疑問だったのですが。 この式を教えて頂けませんか? コピーして使用している式が、複雑過ぎてわかりません。 その方が作った別の関数もわざと難しくしているものがあったので、意図してます。(その方は別の方が仕事をするのを嫌がっていた) お願い致します。

みんなの回答

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.4

現状のだと、評価が一つずれますね。 無理にでも合わせるなら =IF(A1<400,"E",LOOKUP(A1,$E$1:$E$4,$F$2:$F$5)) になります。 VLOOKUP関数の場合は対象値の最小値で比較になるので E列を0,400,500,600,700にして =VLOOKUP(A1,$E$1:$F$5,2,TRUE) ですね。 この場合 __0~399 → E 400~499 → D 500~599 → C 600~699 → B 700~___ → A となります。

petitcoucou
質問者

お礼

すみません。 ありがとうございました。

petitcoucou
質問者

補足

あの、__は入力するのでしょうか? とりあえず、やさしいものから試させていただきます。

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.3

>行Eの1列から順に400,500,600,700,800と入っています。 Eは行ではなく列です。 1列は1行目の誤りかと思います。 つまり、「E列の1行目から順に400、500、600、700、800と」のように表現します。 800が最高点でしょうか? 700以上がA、600以上がB、500以上がC、のように評価するときはE列の値とF列の評価がマッチしません。 E1から順に0、400、500、600、700、801 最高点が800としたときE6は801以上の値にします。 F1から順にE、D、C、B、A、無 F6はE6にヒットする値が無いのでどのような値でも良いことになります。 VLOOKUP関数で検索方法をTRUEまたは省略すると未満の最大値がヒットします。 但し、範囲で指定した配列は昇順に並んでいる必要があります。 >この場合vlookupだけでは無理ですよね? データの扱い方が正しければVLOOKUP関数で評価を判定できます。 B1=VLOOKUP(A1,E:F,2,TRUE)

petitcoucou
質問者

お礼

ありがとうございました

petitcoucou
質問者

補足

すみません。列と行は毎回わかっていません。 取り合えず、会社で試させていただきます。 ありがとうございます。

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.2

 点数が800以上の場合には何と表示すれば宜しいのでしょうか?  取り敢えず仮の話として、点数が800以上の場合も、700以上800未満の場合と同様にAと表示させるものとします。  まず、E列の1行目から順に0,400,500,600,700と入力して下さい。(E1セルには0 を入れて下さい)  次に、F列には1行目から順にE,D,C,B,Aと入力して下さい。  その上で次の様な関数として下さい。 =IF(ISNUMBER(INDEX($A:$A,ROW())),VLOOKUP(INDEX($A:$A,ROW()),$E$1:$F$5,2),"")  又、E列やF列を使わなくとも、次の様な関数でも同様の表示を行う事が出来ます。 =IF(ISNUMBER(INDEX($A:$A,ROW())),LOOKUP(INDEX($A:$A,ROW()),{0,400,500,600,700;"E","D","C","B","A"}),"")

petitcoucou
質問者

お礼

ありがとうございました

petitcoucou
質問者

補足

ありがとうございます。 今自宅にいるので改めて会社で試させていただき、御礼させていただきます。 それぞれの関数を理解してからの御礼となるので遅くなりますが、申し訳ないです。 800点以上はAで問題ないです。 申し訳ないです。 800点以上がAでした。 400点未満がE。500点未満がD、600点未満がC、700点未満がB、800点未満、以上がAです。 とりあえず、教えていただいた式をかみ砕きます。

  • aokii
  • ベストアンサー率23% (5210/22063)
回答No.1

=VLOOKUP(A2,E:F,2,false)の「,false」を消して、=VLOOKUP(A2,E:F,2)にすればいいかも。

petitcoucou
質問者

お礼

ありがとうございます。 ただ、範囲に列数が入ってないので無理だと思われます。

関連するQ&A

専門家に質問してみよう