• ベストアンサー

vlookup関数

vlookup関数 book1に犬シートと猫シート、結果シートがあるとします。 犬シートのA1セルに"イヌ"というデータがあり、 猫シートのC1~C9セルに"ネコ"、C10セルに"イヌ"というデータがあります。 で、結果シートのA1セルに、 =VLOOKUP(犬!A1,猫!C1:C10,1,FALSE) という関数を入力すれば結果として"イヌ"が表示されると 期待したんですが、#N/Aとなってしまいます。 どうすればいいんでしょうか。

noname#120975
noname#120975

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

  • ベストアンサー
  • Turbo415
  • ベストアンサー率26% (2631/9774)
回答No.1

普通出ます。私もやってみましたが、出ます。 可能性としては犬シートに「犬」と入れたときもしくは「猫シート」のデータの「犬」と言う文字の前後にスペースが入っていると言うことでしょう。これだと、「犬」と「犬+スペース」を比べるのでエラーになります。 考えられるのはこのくらいです。犬の字を「犬シート」も「猫シート」も両方とも入れ直してやってみてください。スペースとか半角ドットとか分かりにくい文字が入っている可能性が高いです。

noname#120975
質問者

お礼

ありがとうございました。 Turbo415さんの回答の通りでした。

その他の回答 (1)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

考えられる原因としては、(1)半角、全角のコードで相違、(2)何れかのセルにスペースや特殊文字が付加されいる、が想定できます。 (1)半角か全角にコードを揃える (2)スペースならばTRIM(検索値セル)関数で不要なスペースを除去  特殊文字ならばLEFT(検索値セル,LEN(検索値セル)-1))として有効文字で検索する

noname#120975
質問者

お礼

ありがとうございます。 TRIM(検索値セル)関数で不要なスペースを除去してみます。

関連するQ&A

  • 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で検索値を参照したとき、範囲に該当データがあれば いいのですが、無いと「#N/A」の表示がでます 該当データがない場合は、何も表示のないようにするには セルに例えば =VLOOKUP($K24, 全体!$A$5:$E$60,4, FALSE)の場合 どのような工夫を追加したらいいかを教えてください

  • 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でなくても何か方法があるのでしょうか?? よろしくご教授お願いします。

  • 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 調べてみたのですがわからなくて・・・ どこがおかしいのか、教えてください。宜しくお願いします。

  • IFとVLOOKUP関数

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

  • Vlookup関数で検索結果がエラーになってしまう

    お世話になります。 Vlookup関数の質問となります。 =VLOOKUP(C2,Sheet2!$A$2:$E$685,1,FALSE) 検索値  →リストを使用(元データはSheet2の指定したセル範囲の表の2列目のデータ) 範囲 →Sheet2の特定のセル範囲 列番号 →1(ここは100-01、100-02などの番号が入力されています) 検索方法 →false(完全一致) この式で「#N/Aエラー」が発生してしまいます。 単純に「氏名」から「社員番号」を引っ張りたいだけなのですが、 なんでエラーになるのでしょうか? 範囲に指定した表には空白行はありますが、書式設定などは特に問題はないです。 恥ずかしい質問なのは十分に理解していますが、 教えて頂きたく思います。 よろしくお願い致します。

  • VLOOKUP関数のコピーについて

    お世話になっております。VLOOKUP関数を違うセルにコピーするのですが、参照するセルが替わりません。。#N/Aエラーが出てしまいます。たとえば、=VLOOKUP(B24,M3:N21,2,FALSE)をコピーして、違うセルに貼り付けても、=VLOOKUP(B24,M3:N21,2,FALSE)。また、オートフィルでやると、参照範囲もずれてしまいます。上手にコピーする方法はないのでしょうか。よろしくお願いします。

  • VLOOKUP関数が#N/Aで使えません

    こんにちは。 エクセルで表を作っています。 VLOOKUP関数を使いたいのですが、エラー#N/Aが出て使えません。とてもシンプルな式なのに、何がだめでできないのか全く解かりません。 式は、=VLOOKUP(C3&D3,A7:D12,4,FALSE)です。 ちなみに、=VLOOKUP(C2,B7:D12,3,FALSE)にはちゃんと反応して数値を返してくれます。違いは検索値だけなのですが、数字になっているので、文字列に指定もしました。違うセルで=C3&D3は返してくれています。 何がいけなくてできないのか、教えていただけると助かります。 よろしくお願いします。

  • VLOOKUPの関数について

    =IF(C73="","",VLOOKUP(C73,科目!A2:B113,2,FALSE)) 上記の関数を入れてあります。 コピーして下のセルに貼り付けました。そうするとC74にセルに対して手見るようになりますが、答えがC73のセルを見て出てきます。 又コマンドのところに再計算と表示されます。 何が間違っているのでしょうか?

  • VLOOKUP関数の応用版をご教示下さい。

    VLOOKUP関数において、参照するシートをフレキシブルに選択できる方法を探しております。 「参照」ファイルの「???」シートを参照したいのですが、???=A1セルなのです。(セルA1にシート名が記入されているのです。) A1の内容が変わるとVLOOKUP関数参照するシート名が自動的に変わるように設定したいのです。 下記のように演算式を組んだ場合に、「????」の部分にどのような関数を使用すれば良いのでしょうか? VLOOKUP(F36,[参照.xls]????!$A$1:$X$227,4,FALSE) 補足として、参照ブックは別ファイルですが、常に開いた状態と練っております。(元ファイルと連動してファイルが開かれます。) どなたか宜しくお願い致します。

専門家に質問してみよう