- ベストアンサー
エクセル VLOOKUPが反映されない
エクセルに詳しい方、教えて下さい。 エクセルで部品の在庫管理をしているのですが、月に1度、外注さんからエクセルのデータで在庫表が送られてくるのですが、データ量が多い為、VLOOKUP関数を使って同じ部品があるかどうか(部品コードで検索しています。)検索をかけているのですが、外注さんのエクセルのセルの書式設定が違うのか、同じ部品コードがあっても「#N/A」になってしまうのですが、なぜでしょうか? また、セルの書式設定を「標準」にしても、「#N/A」←エラーになってしまって、どちらかの表に部品コードを入力し直すと反映されるのですが、データ量が多いので1個1個入力し直すと時間がかかってしまうので困っています。どなたかわかる方がいましたら宜しくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは! 間違っていたらごめんなさい・・・ もしかして外注さんのデータに全角文字が含まれているのではないでしょうか? もしそうであれば、一例ですが、 仮にA列に部品コードが入っていると仮定します。 A列に作業列を挿入して(元のA列がB列になり、空白のA列が挿入されると思います。) A1セルに =ASC(B1) として、オートフィルマーク(+)のところでダブルクリック 多分これでOKだと思いますが、 もしそれでもエラーが出るのであれば、 A列すべてをコピー → 編集 → 形式を選択して貼り付け → 「値」を選択 そしてB列にもう一度貼りなおします。 その後、A列を削除! これで改善されないでしょうか? あくまで、送られてきたデータが全角文字が含まれているという前提での回答でしたので 的外れの回答なら読み流してください。m(__)m
その他の回答 (4)
- Sinogi
- ベストアンサー率27% (72/260)
検索範囲が狭いのではありませんか? VLOOKUP(検索値,範囲,列番号,検索の型)で範囲の式が検索範囲に一致しているか確認してください。 ちなみにOffsetを利用すると楽です。 A列にコード/B列に品名?が2行目からあるとすると OFFSET(A1,0,0,COUNTA(A:A),2) を範囲の位置に入力すれば検索範囲がいくら大きくなっても大丈夫です。
お礼
ご意見ありがとうございます。 「OFFSET」初めて聞きました!! 明日、会社に行ったら試してみようと思います。 参考になりありがとうございました。
- mu2011
- ベストアンサー率38% (1910/4994)
次の方法をお試しください。 検索列を選択→データ→区切り位置→完了
補足
ご意見ありがとうございます。 区切り位置、やってみたのですが、エラーでした。。。 何が原因なのかわかりませんが、「謎」です。。。。 参考になりありがとうございました。
- okdeath
- ベストアンサー率28% (13/46)
こんにちわ。 原因かどうかわかりませんが、VLOOKUPは検索範囲である部品コードを昇順に並べておかないと不具合が出る場合があります。 可能性のひとつでした~
お礼
ご意見ありがとうございます。 確認しましたところ、部品コードの順番も昇順にしてありますし、オートフィルタもはずしてありますし、数式もあっているので、何が原因なのかわかりません。。。。「謎」です。。。。 ありがとうございました。
- twptwp
- ベストアンサー率73% (14/19)
この現象、昔々ですが私も経験あります。部品コードのセルをF2キーでアクティブにして再確定したらうまくいくやつですよね。 VLOOKUP関数の最後のFALSEかTRUEを省略していませんか? 省略しないほうがいいです。 ご参考まで
お礼
ご意見ありがとうございます。 数式を確認してみたのですが、ちゃんと合ってました。だけど、やっぱりエラーになってしまい、試しに部品コードのセルにF2キーを押してみたら、反映されました。だけど、1個1個やってみたので、少々時間はかかりましたが、、、、。何が原因なのかまだ不明ですが、とりあえず反映されたのでよかったです。 ありがとうございました。
お礼
ご意見ありがとうございます。 表を確認してみたのですが、全角は含まれておらず、tom04さんの言うように=ASCやA列をコピーしてB列に貼り付けのやり方もやってみたのですが、エラーでした・・・。 数式もちゃんと合ってます。何が原因なのかわかりませんが、とても参考になりました。ありがとうございました。