エクセル2010でVLOOKUPを使用した際のエラーについて

このQ&Aのポイント
  • エクセル2010のVLOOKUPを使用して作業をしている際に、エラーが発生して作業が進められない状況です。
  • 具体的には、シート1のセルには『'9W11』と表示される文字列があり、シート2の指定範囲からこの文字列を検索する作業を行っています。
  • しかし、シート1とシート2で一致しないためにエラーが発生しています。手動でシート1の文字列を入力し直すと正常に動作するようですが、原因がわかりません。ヒントや解決策についてアドバイスをいただけると助かります。
回答を見る
  • ベストアンサー

excel2010 VLOOKUPのエラー

VLOOKUPを使った作業をしていますが、どうしてもエラーになってしまい作業が進みません。 内容は、例えばシート1の9W11という文字をシート2の指定した範囲から探すという作業なのですが、シート1の9W11はセルをダブルクリックすると『'9W11』となり、、シート2の9W11はダブルクリックしても『9W11』で、一致していないことが原因だと思います。 ところが、シート1の『'』を削除したり、逆にシート2に『'』を付けたりして双方一致させてもエラーになるのですが、シート1の9W11を手入力で入力し直すと、結果は同じ『'9W11』なのですが、VLOOKUPが機能します。(元々シート1の9W11は、ダウンロードして引っ張ったもの) シート1を手入力し直せば問題は解決するのですが、あまりに量が多いこと、また何か原因があるはず・・・と思い、質問させていただいた次第です。 いろいろググって、試してみましたが何か解決のヒントになりそうな情報をよろしくお願いいたします。

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

  • ベストアンサー
  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.3

>シート1の『'』を削除したり、逆にシート2に『'』を付けたりして双方一致させてもエラーになるのですが、シート1の9W11を手入力で入力し直すと、結果は同じ『'9W11』なのですが、VLOOKUPが機能します。 先頭の`(シングルクォーティション)は文字列であることを宣言しているもので比較データに含みませんので修正しても無意味です。 「手入力し直すと」見た目では同じですが見えない文字や改行コードが無くなるため正常に検索されると思われます。 確認方法としてはシート1の9W11に対して文字列の長さをチェックしてみると見えない文字(空白)や改行コードの有無が分かります。 =LEN(A1) → 5以上のとき不要な文字コードが付着している。 除去は次の数式で良いでしょう。 固定長のとき LEFT(A1,4) 可変長のとき CLEAN(TRIM(A1)) TRIM関数(余分な空白を除去)とCLEAN関数(制御コードの除去)は何方が先に処理しても同じ結果です。

koyuryo2525
質問者

お礼

ありがとうございました!! バッチリできて、作業効率を格段にアップできました!! 感謝申し上げます!

その他の回答 (2)

  • chie65535
  • ベストアンサー率43% (8520/19368)
回答No.2

>シート1の9W11はセルをダブルクリックすると『'9W11』となり、、シート2の9W11はダブルクリックしても『9W11』で、一致していないことが原因だと思います。 違います。エクセルは、「'」の有無を区別しません。 違う物として検索できないとしたら「どちらかのデータの末尾に、全角スペースや半角スペースなど、見えない文字が付着しているから」です。 不要な空白を削るのはTRIM関数で可能なので、検索される値のすべてをTRIM関数で加工するか、検索する値をTRIM関数で加工しましょう。

koyuryo2525
質問者

お礼

ご回答、ありがとうございました!! 問題解決いたしました!

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.1

どこからかダウンロードしたデータとの事なので、変なスペースがついていたり、Excelでは表示できないコントローコードが紛れ込んでいる様に思えます。 例えば、A1の値を検索値にVlookupする場合、 =VLOOKUP(A1,E:F,2,FALSE) #式は適当です の、様にするのではなく、↓こんな風にA1の値から余計なスペースやコントロールコードを取り去ったものを検索値としては如何でしょう。 =VLOOKUP(CLEAN(TRIM(A1)),E:F,2,FALSE)

関連するQ&A

  • ExcelのVLOOKUPについて

    シート1とシート2に商品コードが並んでいます。 シート1にある商品コードがシート2にもあるか確認するため、 VLOOKUPを使ってシート1からシート2へ○印を転記しています。 エラーが出る商品コードの中で、シート1にもシート2にも 間違いなく同じ商品コードがあるにもかかわらず、エラーが 出ています。ただ、シート1の方の商品コードが入っている セルをダブルクリックすると、シート2へ○印が転記されます。 文章ばかりでわかりにくいかもしれませんが、もし解決方法が わかる方がいれば、よろしくお願いします。

  • VLOOKUPが効かない(>_<)

    昨日出来たVLOOKUPの作業が今日は出来なくなりました。 そんな事ってありえますか? 使用するデータは異なりますが、VLOOKUP関数の条件部分は全く変えてません。 一致しない場合のエラー表示もなく、セルには関数式が表示されるだけです。 仕事とで息詰まって残業しています。どなたかお助けを~”(ノ><)ノ (課題内容) シート1には電話番号 シート2には電話番号と月額使用料 VLOOKUPで1と2を付け合わせ電話番号が合致する場合はシート1に月額使用料を記載したいです。

  • VLOOKUPで値があるのにエラーになる

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

  • VLOOKUPで入力結果をマッチングする方法

    こんにちは! 明日仕事でEXCELのVLOOKUPを使って一人でマッチング作業をしなければならなくなったのですが、何をどうすればいいのか全然わからないので、助けてください!! 今日までにバイトの人達2人が同じフォーマットのEXCELのシートにそれぞれに入力してくれていて、明日私のところにそれぞれのシートが届きます。で、2人の入力が間違っていないかどうかをVLOOKUPをかけてマッチングしてほしい、という指示です。 一人で作業をするので周りに聞ける人もいないし、どうしよう。。。(涙)ヒントだけでもけっこうですので、回答よろしくお願いします。

  • Excel2010 VLOOKUPのコピーでエラー

    Microsoft Office2010を使用しております。 マスタデータとなるシートを用意し、そちらに名前"donation_dnt_sets"とつけて、それに対してVLOOKUPを使用して値の取得を行いたいと思い =IF($J$4="","",VLOOKUP($J$4,donation_dnt_sets_v,3,FALSE)) という式を書きました。 その結果、正しい結果を取得することができたのですが、この式をコピーして同じシートの違うセルに貼りつけて実行したところ、N/Aエラーとなってしまいました。 貼りつけた式を確認したところ、コピー元の式と同じだったのでコピペミスという訳でもなさそうです。 しかも、貼りつけるセルをいくつか変えて実行したところ、N/Aエラーにならず、正しい値を取得することろもあったりします。。 原因の分かる方いらっしゃいましたら、ご教授のほどお願い致します。

  • VLOOKUP()

    関数VLOOKUP設定でエラー#N/Aが出ます。 現在、範囲が別シートですがこれは何か別の入力が必要でしょうか? VLOOKUP=(A1、sheet1!B2:C100,2,0) で入力しています。 関数初心者です。

  • エクセルのVLOOKUP

    エクセルのVLOOKUPで違うシートにあるデータをひっぱりたいのですが シート1のA2~A50まで 20100110~20111011 までランダムに入っています。 この数値は、年月日の 8桁です  (シート1は他人が作ったデータです )シート2のA1~A7まで、8この数値は自分で打ち込みました) 20101001 20111001 20101011 20111001 20110201 20110201 20110301 シート2のB1~B7まで  あ  い  う  え  お  か  き  とはいています。 これをシート1のB2~B50まで B1~B7まで入っている  あ  い  う  お   か  き をひっぱりたいのです。シート1に入っている ですが、VLOOKUPで引っ張っても エラーになってしまいま8ケタの数値をクリックして セルの書式設定でシート1とシート2の8ケタの数値を数値にしても エラーになります エラーになる原因はなんですか?

  • エクセルのVLOOKUP

    エクセルのVLOOKUPで違うシートにあるデータをひっぱりたいのですが シート1のA2~A50まで 20100110~20111011 までランダムに入っています。 この数値は、年月日の 8桁です  (シート1は他人が作ったデータです )シート2のA1~A7まで、8この数値は自分で打ち込みました) 20101001 20111001 20101011 20111001 20110201 20110201 20110301 シート2のB1~B7まで  あ  い  う  え  お  か  き  とはいています。 これをシート1のB2~B50まで B1~B7まで入っている  あ  い  う  お   か  き をひっぱりたいのです。シート1に入っている ですが、VLOOKUPで引っ張っても エラーになってしまいま8ケタの数値をクリックして セルの書式設定でシート1とシート2の8ケタの数値を数値にしても エラーになります エラーになる原因はなんですか?

  • vlookupで「'」で囲った名前定義がエラーに

    エクセル、vlookupについての質問です 別ブックの、都度都度違うシートから値を引用するためのvlookup関数を以前作成し、 今回修正を加えようとするとエラーになります 具体的には 名前で以下の二つを定義 名前(W):■定義□引用前 参照範囲(R):=INDIRECT("'["&計算式!$D$3&".xls]"&計算式!$D$8&"'!"&計算式!$D$10) ■定義□引用後 参照範囲(R):=INDIRECT("'["&計算式!$D$3&".xls]"&計算式!$D$8&"'!"&計算式!$D$11) (「計算式」というシートのD3に引用するブック名、D8にシート名、D10とD11にvlookupで引用する範囲の座標をそれぞれ指定) =VLOOKUP($D$6,'■定義□引用前':'■定義□引用後',4,0) という式の列番号を変更しようとすると、 「入力した数式は正しくありません」 というエラーが出ます 既に入力されている式はちゃんと引用され表示もされているのに、 変更しようとするとエラーが出ます 正直全く意味がわかりません どなたかご教示願えますでしょうか

  • Excel2007 VLOOKUP関数の相談

    もし検索不足で重複した質問でしたら申し訳ありません。 VLOOKUP関数について、シート「A」に文字列を入力したら シート「リスト」シート上に同じ文字列があれば その文字列関係の情報を持ってくるというVLOOKUP関数を使用していました。 <使っていた関数> =IF(ISERROR(VLOOKUP(H306,リスト!A:B,2,0)),"",VLOOKUP(H306,リスト!A:B,2,0)) この入力する文字列が数字(別データからコピーして貼り付ける)に変わっただけなのですが、 何故か対象情報の抽出をしてくれません。 <使おうとしている関数> =IF(ISERROR(VLOOKUP(I2,データ0501!A2:F695,3,0)),"",VLOOKUP(I2,データ0501!A2:F695,3,0)) ネットで検索したのですが、関数情報が不足しているのか、 コピーした数字列の貼り付け方が間違っているのかわからない状況です。 恐れ入りますが解決策があればお教えいただければと思います。 どうぞ宜しくお願い申し上げます。

専門家に質問してみよう