質問: エクセル:vlookupで#n/a又は1つズレる エクセルのsheet1にあるurlを検索対象にして、sheet2のurlを探し、その商品名を求めたいのですが、どうやっても上手く行きません。 mac版のexcel2011です。 該当書類の『sheet1』に =vlookup(b2,sheet2!$o$2:$p$5802,2,0) と書いていて『sheet1のb列』は画像urlが入っています。 『sheet2』の『o』列にurl、『p』列に商品名が入っています。 『p』の対応する文字列を取得したいのですが、 検索方法『false』だと『#n/a』になり、 『true』だと欲しい値の一つ手前の商品が取得されます。(sheet2はurlを昇順で並べ替えています) セルの分類は『標準』、大文字小文字、1バイト2バイト文字、スペースの有無は確認し問題はありませんでした。それぞれのシートのurlは単純に検索できます。 新規書類に同様のシートを作成し値としてペーストしても なお正しく商品名を取得できません。 商品数は10400件ほどあります。 urlのような『/』や『:』がある文字列は計算出来ないのでしょうか? それともmacだからでしょうか?? お分かりになる方、お知恵いただければと思います。 宜しくお願いします。
回答: >検索方法『false』だと『#n/a』になり、 『true』だと欲しい値の一つ手前の商品が取得されます。(sheet2はurlを昇順で並べ替えています) このパターンは検索文字とリストの文字が異なる代表的なパターンです。 たとえば、「=検索値のセル=リストの該当セル」という数式をどこか空白セルに入力すると「false」が返ってくる(すなわち同じ値ではない)ことを示しています。 この場合は、検索値のセルに該当するリストの値をコピー貼り付けすれば、エラー表示されなくなります。 このように、見かけ上同じ値であっても異なる文字列として認識されるパターンで最も多いのが、検索値を手入力したのではなくどこかのデータをコピー貼り付けしたような場合です。 このケースの場合は、「=len(検索セル)」で返る値と、「=len(リストのセル)」で同じ数字が返らないことで確認できますので、その不明文字コードを確認したい(一括削除したい)場合は、上記の検証結果を具体的に補足説明してください。