こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

Excel 2つのシートを比較して重複項目を出力

旧データと新データの2つを管理しているExcelファイルがあります。

シート1には旧データがシート2には新データがあります。
新データは旧データに幾つかの商品が追加されております。
シート1のデータを参照してシート2に旧データの番号を追加したいです。

---------------
シート1
---------------
AAA 123
BBB 456
---------------

---------------
シート2 3番目に旧データにあるシート1の2番目の項目を表示したいです
---------------
AAA 111
BBB 222
CCC 333
DDD 444
---------------

↓こんな感じにしたいです。
---------------
処理後のシート2 
---------------
AAA 111 123
BBB 222 456
CCC 333 -
DDD 444 -
---------------

わかりにくい説明ですみません。
商品番号が変わったのですが400件近くあるので
まとめて更新したかったので質問させて頂きました。

投稿日時 - 2011-04-02 09:44:41

QNo.6638447

暇なときに回答ください

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

こんにちは!
すでに回答は出ていますので、参考程度で・・・

↓の画像でSheet2のC2セルに
=IF(A2="","",IF(COUNTIF(Sheet1!$A:$A,A2),VLOOKUP(A2,Sheet1!$A:$B,2,0),"-"))
という数式を入れ、オートフィルで下へコピーすると画像のような感じになります。m(__)m

投稿日時 - 2011-04-02 13:38:15

ANo.2

コンピュターの経験が余りなさそうで、無理も無いのだが、AAAなどがシート1、シート2のそれぞれのA列の中で重複しないかどうかが、書いてないが、これが回答の死命を制するのだ。
いちおう重複無いものとする。
ーー
シート2において、シート1分はB列に(固定して)持ってきていいのか。
シート1にあって、シート2に無いものがあるとシート2のA列でシート1のデータを左寄せするなどとなると、関数では難しい。
VBAでやるようなことになるが。
それは無いとする。
またシート1にあるAAAなどはシート2では必ずあるのかどうか?
あるとすると
シート2のC1に
=IF(ISERROR(VLOOKUP(A1,Sheet1!$A$1:$B$100,2,FALSE)),"",VLOOKUP(A1,Sheet1!$A$1:$B$100,2,FALSE))
を入れてC4まで式複写。
結果
シート2 A1:C4
AAA111123
BBB222456
CCC333
DDD444
シート名はSheet1,Sheet2のままでやったので変えてください。
100の部分はA列の、AAAなどの数以上に設定すること。
ーー
こんなことを望んでいるのかな?疑問をいだきつつ。

投稿日時 - 2011-04-02 10:24:21

ANo.1

=IF(ISERROR(MATCH(A1,データ範囲A,0)),"-",VLOOKUP(A1,データ範囲B,0))

データ範囲AはSheet1のA列のデータ入力された範囲
データ範囲Bは同じくSheet1のA:B列のデータ入力された範囲
※データ範囲はそれぞれ名前付けして置くと式はそのまま利用出来ます

こんな感じでSheet2のC1に入力し下方向にコピーで

投稿日時 - 2011-04-02 10:06:40

あなたにオススメの質問