- ベストアンサー
VLOOKUPで値があるのにエラーになる
EXCEL2003でVLOOKUP関数を使用しています。 =VLOOKUP(A1,マスタ,2,0) 上記の関数をコピーしたのですが、いくつかエラーとなる箇所があり、 マスタの検索先を調べてみると、検索値と一致している項目があるのに エラーとなっているものがあります。 IF関数で検索値とマスタの検索先を比べてみて、一致しているのは確認しました。 原因がわかる方いらっしゃいましたら教えてください。
- みんなの回答 (8)
- 専門家の回答
質問者が選んだベストアンサー
・検索先はマスターの左端の列ですよね ・検索先のセルをA1にコピーしてもエラーになりますか ・マスターの部分を範囲指定で置き換えたらどうなりますか
その他の回答 (7)
- mu2011
- ベストアンサー率38% (1910/4994)
>関数をコピーしたのですが、いくつかエラーとなる箇所があり ⇒数式をコピーという事ということから連想すると、 マスタの参照範囲が相対参照になっている事はないでしょうか、 ご確認下さい。 為参考。VLOOKUP関数の第4引数は0でも問題ないが、FALSEとした方が良い。
お礼
同じ名前の定義されたシートをコピーしていたのがまずかったみたいです。 名前を削除し、再定義するとうまくいきました。 ありがとうございました。
- MackyNo1
- ベストアンサー率53% (1521/2850)
>IF関数で検索値とマスタの検索先を比べてみて、一致しているのは確認しました。 どのような方法で確認したのでしょうか? #N/Aエラーが出るなら、検索値がマスタの値と一致していないパターンです。 確認するには以下の式を入力して、TRUEが返るか調べてみてください(一致しない場合はFALSE)。 =検索値のセル番地=該当するマスタのセル番地 このような原因で最も多いのは、検索値が数字の場合で、この数字が「数値」(通常の入力値)と「文字列」(文字列セルに入力したり、テキスト関数系での数式の返り値の数字)の違いがあるパターンです。 手入力した値を比較しているなら、その数字の列を選択して「データ」「区切り位置」で「完了」すれば、一括して文字列数字データを通常の数値データに変更できます。
お礼
同じ名前の定義されたシートをコピーしていたのがまずかったみたいです。 名前を削除し、再定義するとうまくいきました。 ありがとうございました。
- imogasi
- ベストアンサー率27% (4737/17069)
問題意識が無くて(注意点を十分知らずに)みている(チェックしている)から、そうなるのだと推測する。 半角・全角 先頭後尾の無用なスペース 中間スペースの数 大文字・小文字 拗音撥音と普通のカナ など代表的なチェック点はあります。 ーー ()内は例 目をつけた(おかしいと思う)セルで =LEN(A1)のような関数 =Type(A1)のような関数 =TRIM(A1)のような関数 =EXACT(A1.B1)のような関数 の利用してチェックも役立つかも。 ーー テストで検索表データをワーク列にデータをコピーして移し、一方検索文字列を最後にコピー貼り付けして、並べ替えをして前後に引っ付くかなども役に立つかも。 ーー 第4引数はFALSEにしてるよね。 第2引数は名前を使うか、セル範囲には$をつけているよね。
お礼
同じ名前の定義されたシートをコピーしていたのがまずかったみたいです。 名前を削除し、再定義するとうまくいきました。 ありがとうございました。
- mshr1962
- ベストアンサー率39% (7417/18945)
VLOOKUP関数、HLOOKUP関数の検索値は 数値は数値、文字列は文字列を検索します。 範囲に検索値があるのに#N/A!が出るケースで考えられるのは 1.検索値が数値で、範囲の内容が文字列 2.検索値が文字列で、範囲の内容が数値 3.範囲の内容の文字列の前後にスペース等、見えない文字列がある です。 1の場合は=VLOOKUP(TEXT(A1,"G/標準"),マスタ,2,0) 2の場合は=VLOOKUP(VALUE(A1),マスタ,2,0) 3の場合は、範囲の内容を確認して、入力し直す。 上記で確認してみてください。
お礼
同じ名前の定義されたシートをコピーしていたのがまずかったみたいです。 名前を削除し、再定義するとうまくいきました。 ありがとうございました。
- ka28mi
- ベストアンサー率41% (969/2315)
マスタが、昇順に並んでいないということはないでしょうか? (私だけかもしれませんが、マスターを並べ替えれていなかったことがありました。) また、再計算を行ってみても、エラーとなるのでしょうか?
お礼
同じ名前の定義されたシートをコピーしていたのがまずかったみたいです。 名前を削除し、再定義するとうまくいきました。 ありがとうございました。
- kmetu
- ベストアンサー率41% (562/1346)
検索値が文字列で検索先が数値ということはないですか。
お礼
同じ名前の定義されたシートをコピーしていたのがまずかったみたいです。 名前を削除し、再定義するとうまくいきました。 ありがとうございました。
補足
IF文で正となりましたので、どちらも文字列になっていると思います。
- 某HN クロメート(Chromate)(@CoalTar)
- ベストアンサー率40% (705/1742)
エラー値はなんですか? IF関数を使った数式はどのようにしましたか? また、その値はなんですか? 「マスタ」の範囲は適正ですか?
お礼
同じ名前の定義されたシートをコピーしていたのがまずかったみたいです。 名前を削除し、再定義するとうまくいきました。 ありがとうございました。
補足
VLOOKUPの結果は「#N/A」となります。 IF文は「=IF(A30=Sheet2!A100,1,2)」(A30=Sheet2!A100は検索値と マスタの検索先で同じものが表示されているセル)です。 1と表示されます。 マスタの範囲については問題ないと思います。 同じ範囲の中で、きちんと検索されているものとされていないものが あるのがよくわかりません。
お礼
同じ名前の定義されたシートをコピーしていたのがまずかったみたいです。 名前を削除し、再定義するとうまくいきました。 ありがとうございました。