dポイントプレゼントキャンペーン実施中!

EXCEL2003でVLOOKUP関数を使用しています。

=VLOOKUP(A1,マスタ,2,0)

上記の関数をコピーしたのですが、いくつかエラーとなる箇所があり、
マスタの検索先を調べてみると、検索値と一致している項目があるのに
エラーとなっているものがあります。
IF関数で検索値とマスタの検索先を比べてみて、一致しているのは確認しました。
原因がわかる方いらっしゃいましたら教えてください。

A 回答 (8件)

・検索先はマスターの左端の列ですよね


・検索先のセルをA1にコピーしてもエラーになりますか
・マスターの部分を範囲指定で置き換えたらどうなりますか
    • good
    • 2
この回答へのお礼

同じ名前の定義されたシートをコピーしていたのがまずかったみたいです。
名前を削除し、再定義するとうまくいきました。
ありがとうございました。

お礼日時:2011/11/17 21:41

>関数をコピーしたのですが、いくつかエラーとなる箇所があり


 ⇒数式をコピーという事ということから連想すると、
  マスタの参照範囲が相対参照になっている事はないでしょうか、
  ご確認下さい。
  為参考。VLOOKUP関数の第4引数は0でも問題ないが、FALSEとした方が良い。
    • good
    • 0
この回答へのお礼

同じ名前の定義されたシートをコピーしていたのがまずかったみたいです。
名前を削除し、再定義するとうまくいきました。
ありがとうございました。

お礼日時:2011/11/17 21:41

>IF関数で検索値とマスタの検索先を比べてみて、一致しているのは確認しました。



どのような方法で確認したのでしょうか?

#N/Aエラーが出るなら、検索値がマスタの値と一致していないパターンです。

確認するには以下の式を入力して、TRUEが返るか調べてみてください(一致しない場合はFALSE)。

=検索値のセル番地=該当するマスタのセル番地

このような原因で最も多いのは、検索値が数字の場合で、この数字が「数値」(通常の入力値)と「文字列」(文字列セルに入力したり、テキスト関数系での数式の返り値の数字)の違いがあるパターンです。

手入力した値を比較しているなら、その数字の列を選択して「データ」「区切り位置」で「完了」すれば、一括して文字列数字データを通常の数値データに変更できます。
    • good
    • 1
この回答へのお礼

同じ名前の定義されたシートをコピーしていたのがまずかったみたいです。
名前を削除し、再定義するとうまくいきました。
ありがとうございました。

お礼日時:2011/11/17 21:41

問題意識が無くて(注意点を十分知らずに)みている(チェックしている)から、そうなるのだと推測する。


半角・全角
先頭後尾の無用なスペース
中間スペースの数
大文字・小文字
拗音撥音と普通のカナ
など代表的なチェック点はあります。
ーー
()内は例
目をつけた(おかしいと思う)セルで
=LEN(A1)のような関数
=Type(A1)のような関数
=TRIM(A1)のような関数
=EXACT(A1.B1)のような関数
の利用してチェックも役立つかも。
ーー
テストで検索表データをワーク列にデータをコピーして移し、一方検索文字列を最後にコピー貼り付けして、並べ替えをして前後に引っ付くかなども役に立つかも。
ーー
第4引数はFALSEにしてるよね。
第2引数は名前を使うか、セル範囲には$をつけているよね。
    • good
    • 1
この回答へのお礼

同じ名前の定義されたシートをコピーしていたのがまずかったみたいです。
名前を削除し、再定義するとうまくいきました。
ありがとうございました。

お礼日時:2011/11/17 21:41

VLOOKUP関数、HLOOKUP関数の検索値は


数値は数値、文字列は文字列を検索します。
範囲に検索値があるのに#N/A!が出るケースで考えられるのは

1.検索値が数値で、範囲の内容が文字列
2.検索値が文字列で、範囲の内容が数値
3.範囲の内容の文字列の前後にスペース等、見えない文字列がある

です。

1の場合は=VLOOKUP(TEXT(A1,"G/標準"),マスタ,2,0)
2の場合は=VLOOKUP(VALUE(A1),マスタ,2,0)
3の場合は、範囲の内容を確認して、入力し直す。

上記で確認してみてください。
    • good
    • 1
この回答へのお礼

同じ名前の定義されたシートをコピーしていたのがまずかったみたいです。
名前を削除し、再定義するとうまくいきました。
ありがとうございました。

お礼日時:2011/11/17 21:41

マスタが、昇順に並んでいないということはないでしょうか?


(私だけかもしれませんが、マスターを並べ替えれていなかったことがありました。)
また、再計算を行ってみても、エラーとなるのでしょうか?
    • good
    • 1
この回答へのお礼

同じ名前の定義されたシートをコピーしていたのがまずかったみたいです。
名前を削除し、再定義するとうまくいきました。
ありがとうございました。

お礼日時:2011/11/17 21:41

検索値が文字列で検索先が数値ということはないですか。

この回答への補足

IF文で正となりましたので、どちらも文字列になっていると思います。

補足日時:2011/11/13 17:30
    • good
    • 1
この回答へのお礼

同じ名前の定義されたシートをコピーしていたのがまずかったみたいです。
名前を削除し、再定義するとうまくいきました。
ありがとうございました。

お礼日時:2011/11/17 21:40

エラー値はなんですか?


IF関数を使った数式はどのようにしましたか?
また、その値はなんですか?
「マスタ」の範囲は適正ですか?

この回答への補足

VLOOKUPの結果は「#N/A」となります。
IF文は「=IF(A30=Sheet2!A100,1,2)」(A30=Sheet2!A100は検索値と
マスタの検索先で同じものが表示されているセル)です。
1と表示されます。
マスタの範囲については問題ないと思います。
同じ範囲の中で、きちんと検索されているものとされていないものが
あるのがよくわかりません。

補足日時:2011/11/13 17:30
    • good
    • 1
この回答へのお礼

同じ名前の定義されたシートをコピーしていたのがまずかったみたいです。
名前を削除し、再定義するとうまくいきました。
ありがとうございました。

お礼日時:2011/11/17 21:40

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!