• 締切済み

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% (7418/18948)
回答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/8248)
回答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/22062)
回答No.1

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

petitcoucou
質問者

お礼

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

関連するQ&A

  • IFとVLOOKUP関数を組み合わせて

    IFとVLOOKUP関数を組み合わせて条件に一致させた数値を出したいのですが引数の記述がわかりません具体的にはセルB5の値が2以上10未満の時は4,100を10以上15未満の時は6,500を15以上25未満の時は11,300を25以上35未満の時は16,100を35以上45未満の時は20,900をセルD5に標示させたい時はどんな記述をすればよろしいでしょうか?IF関数VLOOKUP関数を用いて別のセルにこの参照をさせる表(セルA7に2,B7に4,100 A8に10,B8に6,500 A9に15,B9に11,300…)を作成するすればできると思うのですが…

  • IFとVLOOKUP関数

    VLOOKUP関数を使って検索結果を出そうと思いましたが、 データ量が93000行X8列になりますので、 共通分けして複数のシート(A、B、C、D)に分けました。 あるセルに『A』と入れると『シートA』の表から検索を行う、 あるセルに『B』と入れると『シートB』の表から検索するといった感じにするには、 IFとVLOOKUPを使用するなら、どのような式を入れたらいいのでしょうか? また、他の関数を使う式があるのでしょうか? マクロやVBAも考えましたが、 あまり知識がありません。 データ量から考えると マクロやVBAで行った方がいいのでしょうか?

  • VLOOKUP関数の範囲がずれてしまう

    VLOOKUP関数を使用していますが、 たとえばVLOOKUP(B10,A1:B8,2,FALSE)の式を下にドラッグしてコピーしていくとVLOOKUP(B11,A2:B9,2,FALSE) VLOOKUP(B12,A3:B10,2,FALSE)という様に範囲がA1からA2、A3とずれていってしまいます。検索のB10がB11、B12と成るのはいいのですが、範囲は、固定にならないと式をコピーできないように思うのですが誰か分かる方教えてください。

  • VLOOKUPに関して教えてください

    EXCEL97です VLOOKUP関数で =VLOOKUP($B$1,SHEET!$A$2:$Q$30,2,0)という式を入力して次の列にコピーすると =VLOOKUP($B$1,SHEET!$A$2:$Q$30,2,0)とコピーしてしまいますよね 次の行には=VLOOKUP($B$1,SHEET!$A$2:$Q$30,3,0)にしたい時があるのでいつも 手入力で2→3に変更するかVLOOKUP式を入れなおしているのですが 手入力せずに2→3をコピーできる方法ってありますか? VLOOKUP式を使うことが多く毎回めんどくさくて・・・ どなたか教えてくださいませんか?

  • VLOOKUP関数で開いていないファイルを参照

    月度ごとのファイルがあり、フォーマットは全て同じです。 <例> 一覧データ0604.xls 店番 金額 111  15000 112  10000 この金額を一覧表にしたいと思います。 店番  0604 0605 ・・・ 111  15000 12000 112  10000 18000 この一覧表を作るために、VLOOKUP関数を使いました。 普通に入れると、ファイル名の変更が面倒なので、作業行を作っています。 店番  0604 0605 ・・・ 作業行 111  15000 12000 112  10000 18000 06年04月の作業行(B2セル)には以下の式を入れています。 ="'D:\マイドキュメント\[一覧データ"&B1&".xls]全店明細'!$A:$B" そして実際のVLLOKUPは111店の場合こうです。(B3セル) =VLOOKUP($A3,INDIRECT(B$2),2,0) これでフィルコピーしてデータを持ってくることはできるのですが、一覧データファイルが開いていないとダメです。 すると2年分であれば24個のブックを開かないといけません。 出来ればファイルを開かずに使えると良いのですが、この式ではダメですよね? もしできる方法があれば教えて下さい。よろしくお願いいたします。

  • IF、VLOOKUP関数

    (1)A4=IF(F4>0,"M-1"," ") A列にこの式をコピーすると全A列がM-1になるが、 A5は「M-2」、A6は「M-3」・・・ としたい。 (2)C4=VLOOKUP(C4,$C$5:$D$9,2) C4が空白の場合「#N/A」となるが、空欄にしたい。 以上二点、ご教授下さいm(__)m

  • vlookup関数について

    vlookup関数について教えてください。    A       B         C      D      E        1  あじ    りんご     2  さば    みかん            3  さんま   ばなな        という内容で、D1セルに入力した内容に応じてE1セルに内容を転記させていました。 E1=VLOOKUP(D1$A$1$B3,2,FALSE) 上記で運用していたときはうまくいったのですが、 Cの列にも文字をいれ、E1セルにはCの内容を検索して、B列の内容を転記したいと 思って作りかえるとうまくいきません。 今回の新しいやり方では、 ・A列からの検索はいらない(でも他ファイルから参照されているので、削除、移動はできない) ・E1=VLOOKUP(D1$A$1$C2,2,FALSE)では #N/A となる ・A列からの検索がいらないから、E1=VLOOKUP(D1$B1$C2,1,FALSE) でも #N/A 調べてみたのですがわからなくて・・・ どこがおかしいのか、教えてください。宜しくお願いします。

  • VLookUp関数について教えて下さい。

    至急お願いします! 現在下記の様な状態です。 ・VLookUpの設定シート A行 B行 ・ ・ ・ ・ ・ ・ 052 △△銀行 ・ ・ ・ ・ 0052 ●●社 ・別シート(社内伝票です) セルA1 セルB1 052 △△銀行 ※セルA1に052 と入れるとVLookUp関数により、B1には△△銀行 と表示されます。 但し、同じセルにB1に●●社 と表示させたいが為に、A1に0052 と入れると、052 と認識されて(052と表示される)B1に △△銀行と表示されてしまいます。 うまく052 と入れたら△△銀行 0052 と入れたら●●社 と表示分けされる方法はないものでしょうか? 初心者なので、分かりやすく教えて頂けると助かります。 宜しくお願い致します。

  • エクセルのVLOOKUP関数について

     エクセルで、VLOOKUPを使っています。  A3に 1 と入力すると、Aの5行目11行目までから、別のシートに入力してある A1~G1の項目の情報が1列にババッと入力されています。    そのVLOOKUP関数を使おうと思うのですが、この関数は数年前に入力したもので、式の作り方がわからなくなってしまいました。 前使った式は =VLOOKUP(F2,'C:\Documents and settings\office\デスクトップ\新しいフォルダ (2)\[ガイドブック.xls]Sheet1'!1:65536,11,0) です。 この式の意味が、今見てもさっぱりわかりません。 この式がどういう命令になっていたのか・・・・(特にSheet1からわからない)、 もし出来たら教えていただけるとありがたいです。 間違っている箇所があったらそれも教えてくださるとありがたいです。

  • エクセル VLOOKUP関数?を使ってこのような事が出来るか知りたいです。

    Sheet1の2行目A~D列に 1 2 5 8と入っています。 Sheet2の   〃   に 3 2 5 9と入っています。 Sheet3の   〃   に 9 3 5 1と入っています。 Sheet4のA1にSheet1 と入力した際、B1~E1のセルに、Seet1に入っていた 1 2 5 8と表示させたいのですが、出来ますでしょうか? 私が思うにVLOOKUP関数?と思いますが、どんな式にしていいのかわかりません。 それか、他の関数の場合はどうすればいいのか?付け足さなくてはいけな出来ないものがあればそれも知りたいと思います。 宜しくお願いします。

専門家に質問してみよう