• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【Excel2007】VLOOKUP)

Excel2007のVLOOKUP関数で商品リストを抽出できないエラーが発生

このQ&Aのポイント
  • Excel2007のVLOOKUP関数を使用して、65000行の商品リストシートから指定の商品に該当する区分を抽出しようとしていますが、エラーが発生しています。
  • 検索条件のJ2と一致する情報は、シート「データ」のC列にあり、抽出したい情報は選択範囲の左から5番目の列に存在します(全て文字列)。しかし、関数を作成しても検索結果が空白になってしまいます。
  • 文字列の前後に余分な空白や全角半角の相違はないことを確認しましたが、問題の原因が分かりません。他に対処すべき要件や設定があるか教えていただけないでしょうか。困っているので、お力添えいただけると助かります。

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

  • ベストアンサー
  • chonami
  • ベストアンサー率43% (448/1036)
回答No.5

そもそも、なぜ「&""」をつけないといけないのでしょう。 ご自分で意味を理解して付けられているのですか? 例えば、データシートの方のC列が文字列データで、検索値のJ列が数値データだったとすると、「J2&""」とすることでJ2のデータを文字列に変換しデータを合致させるという事でしたら理解できます。 ですが、 >J2(文字列) >左から5番目の列にあります。(全て文字列) とあるように、データはすべて文字列なのではないのですか? でも、補足にあるように「&""」を外すと#N/Aが出るという事はやはりデータ型が違うのだと思います。 多分、データシートのC列の方が文字列でないのでは? 実際のデータがわかりませんので何とも言えませんが、表示形式を変えただけではデータ型までは変わりません。 データシートのC列を選択し、データ→区切り位置→次へ→次へ→列のデータ形式を「文字列」にチェック→完了 としてみてください。 後は表示形式で文字と数字が混在しているから文字列だと思っていたけど実はユーザー定義などでそう見えていただけで実際のデータは数値だった、などという事もありますのでそちらも調べてみて下さい。

piropiro24
質問者

お礼

アドバイスありがとうございます。 「&""」は類似した関数を使用した際のもので同じように文字列云々の際に入れて解決したので同様に入れていたものです、申し訳ありません。 >「&""」を外すと#N/Aが出るという事はやはりデータ型が違う >データシートのC列を選択し、データ→区切り位置→次へ→次へ→列のデータ形式を「文字列」にチェック→完了 >実はユーザー定義などで~ ご丁寧にありがとうございます、「&""」を外すと#N/Aと出てきてしまうのでC列のデータ形式をご指摘通り操作し、ユーザー定義があるかどうかも確認いたしましたがやはり出てきません… 検索値と範囲を範囲ではなく行全体にしたら値が出てきましたので一旦はこちらで解決しそうです。 =VLOOKUP(J:J,新帳合!D:G,4,0) 諸々ご協力いただきありがとうございました、本当に助かりました。

その他の回答 (4)

回答No.4

ちょっとだけフォロー、 これの方がちょっとだけいいでしょう。 =IF(J2="","",IFERROR(VLOOKUP(J2,データ!$C$3:$G$65002,5,FALSE),"")) おまけ、 やはり、数値だとタイプが変換されてアカンですね。一致しない! A1に「11」 B1に =A1&"" 「=A1=B1」 の結果は「 FALSE」になった。 <参考URL> http://okwave.jp/qa/q7613120.html

piropiro24
質問者

お礼

諸々参考URL等ありがとうございます、&""は不要なのですね…知識不足で申し訳ありません。類似した関数を使用した際のものなので削除いたします。 再度追記していただいた関数ですと元のデータの何かがいけないのかやはり空白になってしまいます… 検索値と範囲を範囲ではなく行全体にしたら値が出てきましたので一旦はこちらで解決しそうです! =VLOOKUP(J:J,新帳合!D:G,4,0) 何度もアドバイスいただいたのに申し訳ありません、ありがとうございました! 教えていただいたサイト知らなかったので今後の勉強に使わせていただきます!

回答No.3

>=IFERROR(VLOOKUP(J2&"",データ!$C$3:$G$12048,5,FALSE),"") なんか良さげですが、やっぱ、「J2&""」、これがアカンようですね!(IFERROR、便利だね!、家にも欲しい!!) =IFERROR(VLOOKUP(J2,データ!$C$3:$G$65002,5,FALSE),"") こう書くべきでしょう!! 「IFERROR関数でVLOOKUP関数の#N/Aエラーを回避」 http://www.becoolusers.com/excel/iferror-vlookup.html

piropiro24
質問者

お礼

連続でアドバイスありがとうございます!そして申し訳ありません、結果の値が空白になってしまうのでNo.4のアドバイスも参考にさせていただきます。

回答No.2

数式は間違えていないようです。 (実際IFERRORが働いて""を返しているように見受けます。) ということは、J2の値とシート「データ」のC列にある値が同一ではないと見受けられます。 セルの設定等で同じく見えてもセルに格納されている値が違うと違う値と判定されますので今一度ご確認くださいね。 (文字列のセルに数値を入れても、数値セルの数値と一致しなかった記憶があります。)

piropiro24
質問者

お礼

ご確認いただきありがとうございます! >セルの設定等で同じく見えてもセルに格納されている値が違うと違う値と判定されますので~ アドバイスの通り、検索する側のシート「データ」の情報をまるまるコピーして再度様子をみてみたのですがやはりエラーのままのようで行き詰っております…他に確認できる情報があればお教えいただけますと助かります。

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.1

とりあえず、以下の式でやってみて下さい。 =VLOOKUP(J2,データ!$C$3:$G$12048,5,FALSE)

piropiro24
質問者

お礼

早速ありがとうございます、添付関数で試しましたが「#N/A」の値が返ってきてしまいます。 検索値が見つからないというエラー値かと思いますが原因がわかりません。 解決方法はあるのでしょうか…申し訳ありません、宜しくお願い申し上げます。

関連するQ&A