• ベストアンサー

VLOOKUP関数についてどなたか教示願います

下記の表 価格の列(黄色の部分)でVLOOKUP関数が機能しない部分がでてきました。 データを反映させたいのですが、考えられる原因と解決策を教えてください。 E2はVLOOKUP(A2,H2:I6,2,FALSE)と関数を使用しています F2はIF(D2=E2,"正","違")と関数を使用しています 入力した数値が、文字列などで抽出できないのでしょうか?

この投稿のマルチメディアは削除されているためご覧いただけません。

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

  • ベストアンサー
  • tobymetal
  • ベストアンサー率25% (36/141)
回答No.2

再投稿です。 もしかしてこうしたいのかな?と勝手に推測して作ってみました。 F3のセルについては該当する数値が無いためエラーになり、IF関数も 正しく機能しないので図のように組み合わせて正しく機能するように しました。 もし求めているものと違いましたら申し訳ありません。

blackcat77
質問者

お礼

申し訳ございません。 E2ではなく、F2=VLOOKUP(B2,I2:J6,2) ご指摘ありがとうございました。

その他の回答 (3)

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

F2に =VLOOKUP(A2,I:J,2,FALSE) と、間違いなくこの通りに記入します。 勝手にセルを間違えたり、数式を勝手に変えたりしないように気を付けて下さい。 >入力した数値が、文字列などで抽出できないのでしょうか? そういう事が心配になる、どういう具体的な状況があるのですか。 どうしても心配なら、間違いなく次の通りの手順を行います 1.A列の書式設定を標準に変える 2.A列を列選択し、データタブの「区切り位置」を開始してそのまま完了する 3.I列の書式を標準に変える 4.I列を列選択し、「区切り位置」を開始してそのまま完了する それから「機能しない」じゃなくて、具体的にどんな計算結果が(どんなデータから。その時数式はどんな内容の数式で)現れて困っているのか、実際に不具合を起こしているエクセルの現物を目の前に広げて、記憶でご相談を書くんじゃなくて実際のエクセルから実際のデータや数式をコピー貼り付けでご相談に掲示して、情報提供しながら投稿してみてください。

blackcat77
質問者

お礼

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

回答No.3

式中の「I2:J6」という部分は、「$I$2:$J$6」または「I$2:J$6」と絶対参照で書いたほうが正解なことが多いです。質問者さんの表の作りの場合も、多分そうです。その部分をタイプしているときなど、その部分の上にカーソルがあるときにキーボードのF4キーを何回か押せば$が付きます。$を付けないと、惨事になりますよ。下方向にオートフィルなどでセルをコピーしてみれば分かります。 ベストアンサーは辞退します。

  • tobymetal
  • ベストアンサー率25% (36/141)
回答No.1

まずご確認頂きたいのが、質問内に書かれている関数の場所は間違いないでしょうか? E2にVLOOKUP(A2,H2:I6,2,FALSE)と関数を使用した場合、1234と完全一致する2列目の数値を 抽出しますから、空白のH列を参照してしまい全てエラーになるはずです。 その点ご確認ください。

関連するQ&A

  • VLOOKUP関数 エクセル関数教えてください

    =IF(ISERROR(VLOOKUP(B2,$E$1:$F$296,2,FALSE)),"",VLOOKUP(B2,$E$1:$F$296,2,FALSE)) という関数を入れて、品番をセルに入力して元表から品名を導く表を作成しました。うまく使えています。 これを元に =IF(ISERROR(VLOOKUP(B2,$F$1:$I$1000,2,FALSE)),"",VLOOKUP(B2,$F$1:$I$1000,2,FALSE)) という関数に直して、同じような表を作ろうとしたのですが、うまくいきません。 何が悪いのか分かりません。 どうすればうまくいきますでしょうか?

  • Excelでの関数vlookupの応用

    関数については、ほとんど初心者の者です。 vlookup関数では、縦型の表の中から必要なデータを取り出すことができますが、それを応用して取り出した数値の合計を出すことはできますか? もし、vlookup関数以外の関数で、そのようなことをできる関数を知っている方、教えてください。お願いします。 (例:セルA列に科目、B列に科目コード、C列に金額の表で、    D列セルに科目コードを打ち込むと、E列にはB列から    抽出した科目コードの金額(C列)を合計して反映)

  • vLOOKUP関数の仕様

    VLOOKUP関数で検索値が検索対象に複数あるときに検索の型をfalseにすると 例えば E列に検索値のリストがありA列が検索対象になりC列が返す数値があるとすると =VLOOKUP(E1,$A$1:$C$1000,3,FALSE) という風にすると返す数値が A列で一番上にある一致行のC列を返す。 A列で検索値が一致する中でC列の値が最も少ない数値を返す。 のいずれかに見えるのですがこれは仕様として正しいのでしょうか?それとも、私の勘違いでしょうか? ちなみに、上記二つの仕様のうちどちらでも影響が無いんです。C列の数値が連番(時々欠番がありますが)ですので。

  • VLOOKUP関数について

    BとC列に抽出表があり検索範囲データがEとF、HとI列の2グループに分かれています。 VLOOKUP関数を使って検索範囲が2つのグループに分かれている場合の計算式を教えてください。 VLOOKUP関数以外でも出来る方法があれば教えてください。

  • Excel2007 VLOOKUP関数の相談

    もし検索不足で重複した質問でしたら申し訳ありません。 VLOOKUP関数について、シート「A」に文字列を入力したら シート「リスト」シート上に同じ文字列があれば その文字列関係の情報を持ってくるというVLOOKUP関数を使用していました。 <使っていた関数> =IF(ISERROR(VLOOKUP(H306,リスト!A:B,2,0)),"",VLOOKUP(H306,リスト!A:B,2,0)) この入力する文字列が数字(別データからコピーして貼り付ける)に変わっただけなのですが、 何故か対象情報の抽出をしてくれません。 <使おうとしている関数> =IF(ISERROR(VLOOKUP(I2,データ0501!A2:F695,3,0)),"",VLOOKUP(I2,データ0501!A2:F695,3,0)) ネットで検索したのですが、関数情報が不足しているのか、 コピーした数字列の貼り付け方が間違っているのかわからない状況です。 恐れ入りますが解決策があればお教えいただければと思います。 どうぞ宜しくお願い申し上げます。

  • ExcelでのVLOOKUP関数について

    キー1を1000倍したうえで完全一致のVLOOKUP関数を使うと#N/Aエラーが発生します。 表示上は同じように見えますが内部的に異なる値となっているのでしょうか? 試しにエラー行に対して、キーとターゲットとなる当該セルを「=」でつないで確認しても「TRUE」となります。 添付画像は、 検索先としてA列に基準キーを130.168~130.192(step 0.001)で各行へ入力し、B列はA列を1000倍、C列はB列をROUND関数で整数値に丸めたものをキーとしました。 D列にVLOOKUPで参照する値を入力し、E列以降で以下の異なるパターンで値を参照しています。 (1)【E・F列】 ・E列に整数値をキーとして130168~130192(step 1)で入力。 ・E列をキーとしてB~D列のVLOOKUP関数としています。   『=VLOOKUP(E3,B:D,3,FALSE)』 (2)【G・H列】 ・G列にE列/100をキーとして計算。 ・G列をキーとしてA~D列のVLOOKUP関数としています。   『=VLOOKUP(G3,A:D,4,FALSE)』 (3)【I列】 ・E列をキーとしてC~D列のVLOOKUP関数としています。   『=VLOOKUP(E3,C:D,2,FALSE)』 シートを複製し、キーの入力範囲を0.001~0.025(E列は1~25)にした場合はエラーがでませんでした。 その他の確認としてはTEXT、JIS、ASCなどを組み合わせて文字列としたキー同士のVLOOKUPではエラーにならず値を参照できています。

  • vlookupに、Indirect と Match 関数を組み合わせる

    vlookup関数で、検索値にSheet1(Book1)から、範囲は、Sheet2(Book1)のセルにある名前のついているSheet1(Book2), そして、列番号は、指定した名前とマッチするSheet1(Book2)の列番号から、導き出そうとしています。 ところが、Matchで指定した範囲は、Indirect内の関数として認識されないようで、結果が得られません。 たとえば、 Book1のA1~E1にタイトルが入っています。(Index, Title, Book, Author, Frequency) Book2には、 シート1: InputName シート2: Output シート2に以下の関数を入れてみましたが、うまくいきません。 ちなみに、VLOOKUPの列番号を Match関数の代わりに、5 とすると、結果オーライですが、Book1 の列順が変わっていることがあるので、Matchを使ってエラーを避けたいのですが、以下の関数のどこを直すべきでしょうか? =IF(ISNA(VLOOKUP(C2,INDIRECT("'["&InputName!$A$2&"]"& InputName!$B$2&"'!"&"$A$2:$E$1400"),MATCH("Frequency",$A$2:$E$2,0),FALSE)),0,VLOOKUP(C2,INDIRECT("'["&InputName!$A$2&"]"& InputName!$B$2&"'!"&"$A$2:$E$1400"),MATCH("Frequency",$A$2:$E$2,0),FALSE)) よろしくお願いします。

  • エクセルの関数VLOOKUPについて教えて下さい。

    エクセルの関数VLOOKUPについて教えて下さい。 範囲にあたるデーター部分が3つのかたまりに分かれている時どのような数式で表すことができますか? 具体的には、HIJ KLM OPQの列位置にある3つの表の中から検索したいのです。 作った数式は1つの表から検索するもので =IF(C9="","",IF(ISNA(VLOOKUP(C9,材料一覧!$H$5:$J$54,2,FALSE)),"未登録",VLOOKUP(C9,材料一覧!$H$5:$J$54,2,FALSE))) です。(C9,材料一覧!$H$5:$J$54,2,FALSE)の後に&(同じ数式で列文字を入れ替えて)で繋げてみました。列範囲KLMの表は上手くいったのですが、3つ目のOPQの表は上手くいきませんでした。 原因と正しい数式を教えて下さい。 よろしくお願いいたします。

  • 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関数をIFで条件付けしたのですが。。

    シートが2枚あり1枚は名簿シートです。 別シートのセルA1に名簿シートのコード番号を入力し セルA2にVLOOKUP関数で式を下記のように入れています。 =VLOOKUP(A1,名簿!N:P,3,FALSE) このとき値がブランクになるときがあるので そのときは隣の列から数値を拾い出したいのです。 そこで =VLOOKUP(A1,名簿!N:Q,4,FALSE) だと思うのですがですが、自分でIFで式を組んだら =IF(VLOOKUP(A1,名簿!N:P,3,FALSE)="",VLOOKUP(A1,名簿!N:Q,4,FALSE),VLOOKUP(A1,名簿!N:P,3,FALSE)) となりました。 一応、希望通りの答えが返されるのですが、 もっと簡潔な組み方はあるのでしょうか?? IFでなくても何か方法があるのでしょうか?? よろしくご教授お願いします。

専門家に質問してみよう