• 締切済み

VLOOKUPで#N/Aになってしまいます

VLOOKUP関数を使って 商品名をA1に入力すると、コードを検索するようにしています。 VLOOKUP(A1,'商品1'!$A$2:$C$60000,2,0) と入力しているのですが、 商品名によっては、ヒットしたり#N/Aとなったりします。 商品名を間違えて入力していることはないです。 なにか式に足りないものがあるのでしょうか? それともデータが多すぎなのでしょうか? それとも商品名が複雑すぎるのでしょうか? '商品1'のA列に入力されている商品名は ローマ字と数字とハイフンが混ざった商品名です。 並び替えで昇降順にしています。 '商品1'には60000行ほどのデータがあります

みんなの回答

  • rivoisu
  • ベストアンサー率36% (97/264)
回答No.7

同じことを言うようですが If関数を使ってNAになっている個所のキーと検索する表上のキーを比較する ことで間違いをチェックすることからはじめましょう。 いくつか見てるとそのうちパターンがわかってくるからそれから置換するなり手で修正するなりしていきましょう。

  • a987654
  • ベストアンサー率26% (112/415)
回答No.6

NO5です。すみません2ケ所訂正です。 >ハイフンとマイナスは半角の場合表示ではほとんど区別が >片手落ちな回答にてすみませんが、ハイフンとマイナスの置換で ”ハイフンとマイナス”を”ハイフンとカナ長音記号” と読み替えて下さい。

  • a987654
  • ベストアンサー率26% (112/415)
回答No.5

一番怪しいのはハイフンかと思います。 ハイフンとマイナスは半角の場合表示ではほとんど区別が つきませんが内部のコードは別です。 対策としては、列を選択して置換(2007:ホームタブ、2003:編集)を 行ってどちらかに統一することです。 数字のゼロとローマ字大文字のオーも同様に紛らわしいのですが こちらはひとつづつ調べるより手がありません。 片手落ちな回答にてすみませんが、ハイフンとマイナスの置換で うまくいくことをお祈りします。

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

>商品名によっては、ヒットしたり#N/Aとなったりします。 ⇒入力コードと商品コード表コードのコード体系が微妙(半角と全角やスペースが挿入)に相違していると思われますのでコードを確認して下さい。 >なにか式に足りないものがあるのでしょうか? ⇒特にありません。 >それともデータが多すぎなのでしょうか? ⇒関係なし  但し、並び替え(ソート)しているでしたら、検索の型をTRUE型にすれば、検索時間が短くなる(二分検索)と思います。 >それとも商品名が複雑すぎるのでしょうか? ⇒1対1で商品コードと商品名が対応しているのですから仕方がないと思えます。  入力コードは、半角と思われるので、入力セルを半角に入力規制で設定しては如何でしょうか。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

検索の文字列が商品1シートのA列にない場合にそのような表示になりますね。例えば次のような式にすれば該当する商品名が無い場合にも表示されますのでその原因がわかりますね。 =IF(COUNTIF('商品1'!$A$2:$C$60000,A1)=0,"該当の商品がありません",VLOOKUP(A1,'商品1'!$A$2:$C$60000,2,0)) おそらくは文字列の前後などに空白が存在するケースでしょう。あるいはローマ字と数字とハイフンが混ざったケースですと半角での入力か全角の入力でも違ってきますね。 商品1のA列の後に新たにB列を挿入してB1セルに次の式を入力して下方にオートフィルドラッグし、入力の文字列を整理した後でB列を最初の列としてVLOOKUP関数を使ってはどうでしょう。 =TRIM(ASC(A1))

  • rivoisu
  • ベストアンサー率36% (97/264)
回答No.2

式は間違ってないようですね。 商品名でコードを検索といういささか特異な例です。 こういう場合のチェック(デバグ)としてまず ヒットしない表上の商品名と入力した商品名をIF関数で比較してみたらどうでしょう 後ろに余計な空白がついていたりとかハイフンとカナ長音記号が混在してたりとか ないかチェックしてみましょう。

回答No.1

実際にエラーになる、最小のサンプルを示してください。

関連するQ&A