- ベストアンサー
VLOOKUP関数が#N/Aで使えません
こんにちは。 エクセルで表を作っています。 VLOOKUP関数を使いたいのですが、エラー#N/Aが出て使えません。とてもシンプルな式なのに、何がだめでできないのか全く解かりません。 式は、=VLOOKUP(C3&D3,A7:D12,4,FALSE)です。 ちなみに、=VLOOKUP(C2,B7:D12,3,FALSE)にはちゃんと反応して数値を返してくれます。違いは検索値だけなのですが、数字になっているので、文字列に指定もしました。違うセルで=C3&D3は返してくれています。 何がいけなくてできないのか、教えていただけると助かります。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
次の点を確認して下さい。 ・A7:A17は文字列でない。 元々、数値だったのをセルの書式設定で文字列に変更しただけでは駄目です。 この場合、A7:A17を選択→データ→区切り位置→次へ→次へ→列のデーや形式を文字列にチェック→完了をお試し下さい。 ⇒(C3&D3)の文字列がA7:A17に存在しない。 検索値、又は検索列に余分なスペース等が混入していないでしょうか。
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
VLOOKUPのエラーはほとんど、質問者の思い込みと違って、 第1引数の値と 第二引数の範囲の最左列の(検索列)の「質問者が同じはずと思っている!」行の値が 違っているのです。 事例は半角と全角、文字列と数値、余分な空白などが前後中間にあるとかが多いかな。 だから数式バー部に出る両者の値をよーく観察してください. 関数はセルの値で同じかどうかを判断するので、見た目ではない。 もうひとつ>VLOOKUP(C3&D3,A7:D12,4,FALSE)です。 は第2引数のセル範囲が、絶対番地範囲($つき)になってません。 もし、複数・各行にこの式を複写して使う、使い方をしていたら、質問の式は、破綻します。 三番目は第4引数のFALSE型とTRUE型の誤解でしょう。本件は関係なし。 === 下記をやってみてください。 下記のデータを入力して、用意する A1セル '1 アポストロフィをつけると、絶対に文字列になる。(知っているかな) 検索表を作る。 D1:E10 1(数値) a ・・・ 書式で表示形式を文字列に変更してみる。 どこかのセルに =VLOOKUP(A1,$D$1:$E$10,2,FALSE) これは#N/Aとなる. なぜ?? どこかの空きセルに=TYPE(D1) は 1 =>数値 隣でも =TYPE(A1) は 2 => 文字列 とデータタイプが違うことが判る。 これは覚えておくとエラー解析に、貴重と思う。
お礼
ありがとうございます。 できました。 めげずに続けて表を完成させたいと思います。
- bari_saku
- ベストアンサー率17% (1827/10268)
C3&D3ですと、数字でなくて文字列になりますね。 参照するA7:D12のA列のキーは、文字列になっていますか? ISNUMBER関数でチェックしてみては。
お礼
ありがとうございました。 できました。まだまだ勉強不足です。 頑張ります。
補足
ありがとうございます。 A列は文字列に指定してあります。 ちなみに違うセルで=C3&D3を返してくれているので、そのセルを検索値にして=VLOOKUP(返してくれているセル,A7:D12,4,FALSE)としてもエラーが帰ってきます。 もちろん検索値にある文字はA列に存在しています。 すみませんがお願いします。
お礼
まだ表の製作途中なので、続きを頑張って作ります。 ありがとうございました。
補足
こんにちは。 できました。ありがとうございます。 おっしゃる通り、書式設定で文字列に変更しただけだったのですが、駄目なのですね。ちなみに区切り位置とゆうのは今回初めて使用して、どんな機能なのか解かりませんが、少し使ってみて勉強してみます。