• ベストアンサー

EXCEL VLOOKUPでの問題

現在VLOOKUPを使って、商品名から品番を導きだそうとしているのですが どうしてもうまくいきません。 うまく説明できるか分からないのですが、こちらが今取り組んでいることになります。 まず品番をセルのA1からA10まであります。 A1 1000100 A2 1000101 A3 1000102 A4 1000103 .... のようにです。 またセルB1からB10まで商品名があります。 B1 パン B2 ケーキ B3 のり B4 はちみつ ....のようにです。 ここでVLOOKUPの式を =VLOOKUP(A11,A1:B10,1,TRUE)と書いたのですが例え【B1】の【パン】と入力しても#N/Aとなったままです。※(A11に商品名をいれることによってB11に品番が反映されるようになっております。) 品番を例えば【あああ】と文字列にした場合は反映されるのですが、数値にした場合はエラー表示されてしまいます。 #N/Aとなったままになっております。 色々と値を変更したりしているのですが、どうしても【パン】を検索したら【1000100】が出てきません。 どうしてもこれが出来なくては仕事に支障があり、どなた様か解決方法をご存知の方がおりましたらご教授していただけませんでしょうか。 どうか宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.6

VLOOKUPでは基本的にできないと思ってください INDEX、MATCH関数を組み合わせます B11セルに =INDEX(A1:A10,MATCH(A11,B1:B10,0))

その他の回答 (6)

回答No.7

>ただし今回に関しましてはセルの変更をすることが出来ず、 とあったのでVLOOKUPは使えないと回答しましたが >セルを変更することが可能でした。 と言うことなら C1セルに =A1 C10セルまで下へオートフィル (コピー&ペースト) B11セルに =VLOOKUP(A11,B1:C10,2,FALSE) ただし エラー処理や空白の処理はしていません

noname#130289
質問者

お礼

こちらでCoalTar様から頂きました式を利用してやっていましたら解決することが出来ました。INDEXやMATCHなど初めて知る関数でしたが大変勉強になりました。 本当にありがとうございました。 もっと勉強をして自分一人でも出来るようになりたいと思います。 このたびは誠にありがとうございました!

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.5

ありふれた、初歩的な誤りをしている。 (1)範囲を示す第2引数は、式の複写でズレないように、絶対番著指定か、または範囲の名前設定して名前指定しないとなりません。少数の場合は式の中に、配列で指定する場合もあります。 (2)第4引数はFALSEです。TRUEは区間値から1つを割り出すものです。WEB照会のこと。膨大な解説記事が出る。

noname#78040
noname#78040
回答No.4

#1&#2です。 ちゃんとした回答をできずにすみません。 VLOOKUPでは範囲指定した場所の1行目が 検索用に使われるということを忘れていました。 すみません・・・ セルの変更ができないと言っていましたが コピーなどで配置を変えることはできるでしょうか? もし、配置変更ができるなら、同じシートに 配置を変えた上でコピーして、関数を打った後に、 白字でその文字を隠す方法か、 別シートに関数入力用の表を作る方法の どちらかで解決させることができるのですが・・・

noname#130289
質問者

補足

再度のご返答誠にありがとうございます。 こちらで調べて再度調べたところ、セルを変更することが可能でした。 その場合はどのようにすればよろしいのでしょうか? なんども質問をしてしまい申し訳ございません。

  • furafurax
  • ベストアンサー率35% (5/14)
回答No.3

A列に商品名を、B列に商品コードを入れ(例えば1列から10列)、C1に検索する商品名を入れて、D1にコードを出すとしたら、D1に次の式を入れればできますよ。 =lookup(C1,A1:B10)

noname#130289
質問者

補足

=lookupがあるとは知りませんでした。これだけでも大変勉強になりました。 ありがとうございます。ただし今回に関しましてはセルの変更をすることが出来ず、今回ご説明したやり方でしか出来ないのです。。 回答を頂き大変感謝しております。 なにか別の方法をご存知でしたら是非ご教授いただけないでしょうか。 宜しくお願い致します。

noname#78040
noname#78040
回答No.2

間違った回答をしてしまったので訂正・・・ =VLOOKUP(A11,$A$1:$B$4,1,FALSE) で、縦にコピーを想定した場合です。

noname#130289
質問者

補足

ご訂正した頂きありがとうございました。 こちらで試してみたのですが数値を入れたら数値が反映されてしまいました。 100100と入れたら100100と言った感じです。 なにも分からないもので申し訳ないのですが、縦にコピーをした場合というのはどう言った意味でしょうか?

noname#78040
noname#78040
回答No.1

=VLOOKUP(A1,$A$1:$B$4,2,FALSE)で いけるのではないのでしょうか。 ちなみにこれは縦にコピーをとる場合で 想定したものです。

noname#130289
質問者

補足

さっそくの回答まことにありがとうございます。 今頂きました=VLOOKUP(A1,$A$1:$B$4,2,FALSE)を使用してみたのですが こちらの式になりますと商品名で品番を検索することができませんでした。 例えば【パン】と入力すれば【100100】と出てくるようにしたいのです。 さっそく回答を頂きましてありがとうございました。 またなにかありましたら是非お教え頂けませんでしょうか。 宜しくお願い致します

関連するQ&A