- 締切済み
VLOOKUP関数使用した所、#N/Aエラーとデータのバグに悩んでいます。
マクロを使用しているExcelファイルに、商品名・通番を別のファイルから参照し表示させようと、VLOOKUP関数を使ってみました。 キーとなるストック番号を入力しないと、#N/Aエラーが出るのは理解していますが、ストック番号を入力してもそのエラーが消えません。 FALSEからTRUEへ変更した所、エラーは消え、なんらかのデータは表示されるようになりました。 マクロを使用したファイル(在庫管理表)には、既にデータが100個入っており、テストの為に101行目に関数を使用しました。 【在庫管理表】 ストック番号 通番 商品名 A 99 111 0099 えんぴつ A100 222 0100 消しゴム A101 333 0102 消しゴム A102 444 0102 消しゴム A103 555 0102 消しゴム というように、333と入力すると、0102という通番は表示されますが、商品名はA100と同じ内容が表示してしまいます。 A102に444と入力したところ、A101の通番・商品名が表示されてしまいます。A103以降同様です。 キーとなるストック番号のセル番号は正しく入力されています。 Excelはほとんど初心者ですので、マクロを組んだExcelファイルにはVLOOKUP関数は使用できないのかも・・・?とも思い、煮詰まってしまいました。 解りずらい説明となりましたが、どうぞ宜しくお願い致します。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- abczy
- ベストアンサー率44% (294/659)
N/Aエラーの回避 Vlookup関数の前に下記のように追加すればN/Aエラーは表示されません。 =IF(”=ストック番号を入力するセル番地、”、Vlookup・・・・・・・・・ ストック番号が数字の時には、参照する表は昇順に並んでいる必要があります。 この場合は、通常はFALSEを使用します。 Excelのヘルプから自動修復を選択して修復をされたらいかがでしょうか? マクロとのことですが、Ver2003の時には関数の列は非表示にして、最後に表示して、入力した行のひとつ上のセルのフィルハンドルをダブルクリックするとすべての行に関数が入力されます。 ただし、このときに右、または左の列に入力されている必要があります。 それ以外のVerの時には関数の列でCTRLキー+Dキーを一緒に押して上段のセルをコピーすると入力が速くなります。
- mshr1962
- ベストアンサー率39% (7417/18945)
ストック番号は数値ですか文字列ですか? どちらかで統一していない場合は#N/Aが出る可能性があります。 このため、どちらかに統一する必要があります。 ストック番号の列に名前付けして、検索セルにドロップダウンリストを設定する方法でも回避できます。 http://office.microsoft.com/ja-jp/assistance/HP052022151041.aspx
お礼
基本的な事ですが、キーとなる項目が左端にないまま、範囲を選択していました・・・。 同じ書式でないと…気を付けてはいますが忘れがちになってしまいます。なかなか慣れるまでは大変だと思いました。 貴重なご回答ありがとうございました☆ 無事解決しました!
お礼
基本的な事ですが、キーとなる項目が左端にないまま、範囲を選択していました・・・。 お答えありがとうございました☆ CTRLキー + DELキー の操作も本当に便利ですね。 ありがとうございました。