web-dev-qa-db-ja.com

Excelワークシートを条件付きでマージ/結合するにはどうすればよいですか?

+---------+---------+  +---------+--------------+  +---------+-------------+
+ country + widgets +  + country + frammis rods +  + country + comex gears +
+---------+---------+  +---------+--------------+  +---------+-------------+
+ alpha   +       1 +  + bravo   +            8 +  + charlie +          18 +
+ bravo   +       3 +  + charlie +           16 +  + delta   +           9 +
+ charlie +       7 +  + delta   +           32 +  +---------+-------------+
+ delta   +      11 +  +---------+--------------+
+---------+---------+

同じスプレッドシート内に、これらの^^^のようなExcelワークシートがいくつかあります。 allワークシートのカテゴリにデータがある国のみを示す結合データを含む新しいワークシートを作成しようとしています。

+---------+---------+--------------+-------------+
+ country + widgets + frammis rods + comex gears +
+---------+---------+--------------+-------------+
+ charlie +       7 +           16 +          18 +
+ delta   +      11 +           32 +           9 +
+---------+---------+--------------+-------------+

さまざまなワークシートが更新されたり、新しいワークシートが追加されたりするため、これを行うためのかなりシンプルで柔軟な方法を探しています。 MYSQLでこれを行う方法を知っていますが、Excelでそれが可能かどうかはわかりません。

それで、専門家は何を言わなければなりませんか?

事前にTHX。 :)

11
phpwns

まず、ピボットテーブルを使用したソリューションのすばらしい書き込みについて、@ MikeD に感謝します。私はなんとかそれをExcel 2007で機能させることができました。

ただし、SQLクエリの方がはるかに高速であるため、SQLクエリを使用することにしました。 (はい、SQLを使用してワークシートをマージできます。甘い!)

1)データ->他のソースから-> Microsoft Queryから

2)データソースを選択-> Excelファイル*->「クエリを使用Wizard to create /クエリを編集する」にチェックを入れた

3)ワークブックを選択

4)必要な列を選択します->次をクリックします->セットアップの必要性を示すポップアップ警告で[OK]をクリックします手動結合

enter image description here

5)[Microsoft Query]ウィンドウ->テーブル->結合

enter image description here

6)[データを返す]アイコンをクリックします

enter image description here

7)データのインポート-> CTL +重複の列ヘッダーをクリックします(例:「Country2」、「Country3」)->右クリック->「非表示」

enter image description here

8)

enter image description here

8
phpwns

複数の統合範囲を持つピボットテーブルを使用することをお勧めします。 (少なくとも2010年)これは、シートが同じワークブックにあるか、異なるワークブックにあるかに関係なく機能します(写真を参照)

ヒント:Excel 2010では、Alt-D、次にPを押して、2003のようなピボットテーブルウィザードにアクセスします。

Pivot Table Wizard

ページフィールドなし

3 data sheets + Pivot consolidation

cOUNTの代わりにSUMを要求することを忘れないでください(任意の値のセル->右クリック->値を集計)

最終レイアウトに到達するには、ピボットテーブルのすぐ上に追加のヘッダー行(紺色A、B、C、...)を作成し、すべての列に非空白のオートフィルターとフィルターを作成します

enter image description here

ta-taaaaa!

3
MikeD