VLOOKUP関数で数字を手入力すれば正常にデータを引用できるのですが、2つの数字を“&”でつなげたセルを検索値として設定すると「#N/A」が表示されてしまいます。


Sheet1にて、検索値にSheet1のとあるセルにある「参照コード」を指定しまして。
範囲はSheet2の、約800行ほど。
その中から、A列に“6001”と記載されているセルから14列隣りの「あああ」を引用したいのですが。
普通に、参照コードの欄に「6001」と入力すれば、「あああ」と引用できるのです。

しかし“コード”と“追加コード”という、2つのセルの値を組み合わせて“6001”を作った際、それを検索値にしようとしても、エラーになってしまうのです。
希望としては、2つのセルの値を組み合わせて6001としたいのです。(その方が入力の手間等、作業が省けますので)

なぜ「#N/A」が出てきてしまうのか、どうすれば正常な「あああ」という値を引用することができるのか、こちら http://xfs.jp/5QmzgH にこの件に関しますファイルを置きましたので、ご助言いただけないでしょうか。
よろしくお願い致します。

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2014/11/21 23:17:30
  • 終了:2014/11/22 19:21:20

ベストアンサー

id:a-kuma3 No.1

a-kuma3回答回数4489ベストアンサー獲得回数18572014/11/21 23:44:48

ポイント300pt

& を使った結果は、文字列になります。
たいして、Sheet2 の A列は、数値です。
なので、VLOOKUP での検索がヒットしません。

Sheet1 の関数を、

=VLOOKUP(BM6,Sheet2!A12:N820,14,TRUE)

から、以下のように変えてみてください。

=VLOOKUP(VALUE(BM6),Sheet2!A12:N820,14,TRUE)
id:moon-fondu

VLOOKUPの検索値はVALUE関数で数値にしないといけないんですね、知らなかったです!
ありがとうございました。

2014/11/22 19:21:07
  • id:Yoshiya
    =VLOOKUP(VALUE(BM6),Sheet2!A12:N820,14,TRUE)

    サンプルファイルのSheet1!BM6のセルの書式は数値になっていますが、入っている値は文字列です(&演算子で結合している)
    なので、文字列と数値を比較してもうまくいきません。
    BM6をVALUE関数で数値に直してから検索値として比較すればうまくいくはずです。
  • id:Yoshiya
    ちなみに、vlookup関数の検索値を数値にして比較するのであれば、Sheet1のBM6の計算式を

    =BM4*10+CD4

    に変更してください。 この場合、Sheet1のK28の計算式は変更しなくても正しい値が出力されます。
  • id:a-kuma3
    あ、出遅れていたのですね ><。
  • id:moon-fondu
    Yoshiyaさんもありがとうございます!おかげさまで解決致しました。
  • id:Yoshiya
    >VLOOKUPの検索値はVALUE関数で数値にしないといけないんですね、知らなかったです!

    そうではなくて、検索値と範囲の値の書式を合わせるという事です。
    今回の場合、数値同士を&演算子(文字列演算子)で結合した結果が文字列になったという事です。
    その為、数値と文字列で比較しても正確な値が出てこなかった訳です。

    参考サイト
    http://office.microsoft.com/ja-jp/excel-help/HP005198697.aspx
  • id:moon-fondu
    あっ、そうだったんですか・・・書式を統一しておかないといけないんですね。
    わかりました、ありがとうございます!

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません