電子書籍の厳選無料作品が豊富!

大変困っています。
質問初心者のため、説明不足がありましたら、ご指摘ください。

Excel2007を利用しています。

シート1に、
商品番号,価格,サイズデータ,
シート2に、
商品番号,出荷コード,
の書いたデータがあるとします。

シート1には全商品が載っていますが、
シート2にはそのうちの半分程度が載っているとお考えください。

この2つのシートを共通する商品番号でまとめて、
商品番号,価格,サイズデータ,出荷コード,
として統合したいのです。
(シート1にあり、シート2に無い商品については、
出荷コードのセルは空欄にします)

何万点ものデータがあるので、商品番号順にならべかえて
シート2には入っていないものを除去してコピペ…の作業では大変です。
自動的に統合したいのですが、可能でしょうか。

マクロについてはとんど無知です。

みなさん、お忙しい中恐縮ですが、本当に困っています。
どうかご指導いただけますと幸いです。
よろしくお願い申し上げます。

A 回答 (3件)

Sheet1に演算式を使って出荷コードを表示させては?



添付の図を見てください。Sheet1のD2に出荷コードを表示させるために
=IF(ISNA(VLOOKUP(A2,Sheet2!A:B,2,FALSE)),"",VLOOKUP(A2,Sheet2!A:B,2,FALSE))
と、入れて下にコピーしてあります。
「excel 同じ商品番号で別シートにある」の回答画像1
    • good
    • 0

G2セルは


=IF(ISNA(MATCH($E2,$A:$A,0)),"",INDEX(B:B,MATCH($E2,$A:$A,0)))
右へ下へオートフィル
「excel 同じ商品番号で別シートにある」の回答画像2
    • good
    • 0

こんばんは!


参考になるかどうか判りませんが・・・
質問に

>同じ商品番号で別シートにあるデータを統合したい

とありましたので、↓の画像のように、Sheet1のデータの中でSheet2にあるものをSheet3に拾い出し、価格・サイズ・出荷コードを表示させるようにしてみました。

Sheet1に作業用の列を使わせてもらっています。
作業列D2セルに
=IF(COUNTIF(Sheet2!A:A,A2),ROW(A1),"")
という数式を入れ、オートフィルでずぃ~~~!っとコピーするか
フィルハンドルの(+)マークでダブルクリックします。
これでSheet2にあるものに行番号が表示されます。

そして、Sheet3のA2セルに
=IF(COUNT(Sheet1!D:D)<ROW(A1),"",INDEX(Sheet1!$A$2:$A$1000,SMALL(Sheet1!$D$2:$D$1000,ROW(A1))))

B2セルに
=IF($A2="","",VLOOKUP($A2,Sheet1!$A$2:$C$1000,COLUMN(B1),0))
として、C2セルまでオートフィルでコピーします。

D2セルは
=IF(A2="","",VLOOKUP(A2,Sheet2!$A$2:$B$1000,2,0))
という数式です。

最後にA2~D2セルを範囲指定し、D2セルのフィルハンドルで下へコピーすると
画像のような感じになります。

尚、商品番号順に表示したい場合はSheet1の商品番号順で並び替えをすれば
Sheet3にそのまま反映されます。
数式は1000行目まで対応できるようにしていますが、
データ量によって範囲指定の領域はアレンジしてみてください。

以上、長々と書きましたが
参考になれば幸いです。

的外れなら読み流してくださいね。m(__)m
「excel 同じ商品番号で別シートにある」の回答画像3
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!