- 締切済み
Excel、Aのシートにあって、Bのシートにない番号を探すには?
こんにちは。 Excelで、商品一覧を作ってあります。 シート1には、全商品の一覧。(5000個くらい) シート2には、欠品商品の一覧。(500個くらい) 全ての商品は、番号で管理されていて、 シート1とシート2は共通の番号を使用しています。 ここで、問題発生です。 欠品商品のリストに、ないもの つまり、現在、在庫のある商品の一覧を作りたいのですが、 1つ1つやっていると、時間がかかりそうです。 シート1 - シート2 = 作りたいリスト (全商品) (欠品リスト) (在庫ありの商品) と、いうワケなんですが、 なにか良い案はありませんか???
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17069)
全商品一覧シートの作業列を確保して、その列でVLOOKUP関数で 欠品商品の一覧シートを検索し、あれば空白、エラーであれば上の行から連番を振ります。 在庫あり商品シートの行で、全商品一覧シートの作業列に振った連番の中でその行番号と等しいものをとってくればよい。 私の過去回答をOKWAVEで「imogasi方式」で照会してもらえれば、類似質問が沢山出てきます。 ・条件に合う行にだけ、連番の振り方 COUNTIF関数の利用 ・作業列に振った連番の中で、別シートのその行番号と等しいものを 連番を振ったシートから持ってくるやり方 INDEX関数とMATCH関数の利用。 本心はVBAでやることを勧めたいのだが。
データ>フィルタ>フィルタオプションの設定にて、 重複するレコードは無視するONが使えると思います。 作業用に、シート1とシート2のデータを同じシートにコピペ しておくとよいです。 詳しくは、参考URLを。
具体的なデータ例がないので物語風にコメントするしかないけど、結論から先に言えば簡単に解決できます。 シート1において、シート2にあるものを[フィルタオプションの設定]で抽出したレコードを削除すれば、シート1にはシート2にないものが残るじゃないですかぁ。それが「作りたいリスト」かと。
- mshr1962
- ベストアンサー率39% (7417/18945)
商品番号(A列として)があるならシート1で =IF(COUNTIF(シート2!A:A,A2)>0,"欠陥","正常") として正常の番号をコピーして値貼り付けしてください。 「データ」「フィルタ」「オートフィルタ」を利用すれば簡単です。