ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

質問者:ngc エクセルのシート反映について
困り度:
  • 困っています
エクセルのシート反映について
管理表などをつける際にSheet1とSheet2に重複しているデータだけ
Sheet3へ反映させたのですがその際はどのような関数を使えばいいので
しょうか?

Sheet1        Sheet2         Sheet3
A   B   C    A   B   C    A   B   C
傘   3本   500円  箸   2本   300円  傘   3本  500円
鍵   5本   700円  本   4冊   400円  箸   2本  300円
筆  1本  400円  傘   3本  500円
箸   2本  300円
質問投稿日時:08/05/19 11:31
質問番号:4033538

回答

 

回答者:Barracuda 前提条件として、重複と判断するキーはA列の品名だけとし、両シートで個数や価格が異なっても無視してSheet1のデータをSheet3に表示するとします。

スマートな方法ではありませんが、
Sheet3のA2に
=vlookup(Sheet1!A2,Sheet2!A$2:A$65535,1,false)
B2に
=vlookup(Sheet1!A2,Sheet2!A$2:B$65535,2,false)
C2に
=vlookup(Sheet1!A2,Sheet2!A$2:C$65535,3,false)
を入れ、A3:C65535までにコピーしてください。
iserror関数を組み合わせればエラー値を任意の文字列に置き換えることが可能です。
しかし、この方法ではSheet3は歯抜け表示になりますし、大量の計算式で不効率極まりありません。
可能なら、Accessでの処理をお勧めします。
AccessならSheet1とSheet2に相当する二つのテーブルを作り、クエリーで品名にリレーションシップを設定して抽出するだけです。
ご参考までに。
種類:アドバイス
どんな人:経験者
自信:参考意見
回答日時:08/05/25 16:30
回答番号:No.1
この回答への補足この回答に補足をつける(質問者のみ)
この回答へのお礼Barracuda様
ご回答ありがとうございます。
Accessはほとんどやった事がないので勉強がてら
早速アドバイスいただいた通りやってみたいと思います。
ご丁寧なご回答ありがとうございました。