如何有条件地合并/加入excel工作表?

php*_*wns 11 excel merge conditional vba join

+---------+---------+  +---------+--------------+  +---------+-------------+
+ 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 +  +---------+--------------+
+---------+---------+
Run Code Online (Sandbox Code Playgroud)

我在同一个电子表格中有几个像这些^^^的Excel工作表.我正在尝试创建一个包含合并数据的新工作表,仅显示所有工作表类别中包含数据的国家/地区.

例如,

+---------+---------+--------------+-------------+
+ country + widgets + frammis rods + comex gears +
+---------+---------+--------------+-------------+
+ charlie +       7 +           16 +          18 +
+ delta   +      11 +           32 +           9 +
+---------+---------+--------------+-------------+
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种相当简单,灵活的方法来实现这一点,因为各种工作表都已更新/新工作表已添加.我知道如何在MYSQL中执行此操作,但我不确定它是否可能在excel中.

那么,专家们有什么要说的呢?

Thx提前.:)

php*_*wns 8

首先,感谢@ MikeD对使用数据透视表的解决方案的AWESOME写作.我确实设法在Excel 2007中使用它.

但是,我决定使用SQL查询,因为它的速度更快.(是的,您可以使用SQL来合并工作表.甜蜜!)

1)数据 - >来自其他来源 - >来自Microsoft Query

2)选择数据源 - > Excel文件* - >保留"使用查询向导创建/编辑查询"选中

3)选择工作簿

4)选择所需的列 - >单击下一步 - >在弹出警告上单击"确定",您需要设置手动连接

在此输入图像描述

5)在"Microsoft Query"窗口 - >表 - >连接中

在此输入图像描述

6)单击"返回数据"图标

在此输入图像描述

7)导入数据 - > CTL+单击重复项的列标题(例如,"Country2","Country3") - >右键单击 - >"隐藏"

在此输入图像描述

8)!

在此输入图像描述

  • 如果在步骤4中没有可见的表,请单击"选项"并选中"系统表" (5认同)