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

时间:2013-01-31 23:06:14

标签: excel vba join merge conditional

+---------+---------+  +---------+--------------+  +---------+-------------+
+ 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工作表。我正在尝试创建一个包含合并数据的新工作表,仅显示那些在所有工作表类别中包含数据的国家/地区。

如,

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

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

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

提前谢谢。 :)

2 个答案:

答案 0 :(得分:8)

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

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

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

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

3)选择工作簿

4)选择您想要的列 - >点击下一步 - >在弹出窗口中单击“确定”,警告您需要设置手动连接

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

答案 1 :(得分:3)

我建议使用具有多个合并范围的数据透视表。 (至少在2010年)无论工作表是在同一工作簿中还是在不同的工作簿中,这都可以工作(参见图片)

提示:在Excel 2010中按Alt-D,然后按P访问2003类似的Pivot表向导。

Pivot Table Wizard

没有页面字段

3 data sheets + Pivot consolidation

不要忘记要求使用SUM代替COUNT(任何值单元格 - >右键单击 - >汇总值)

要到达最终布局,请在数据透视表(深蓝色A,B; C,...)上方创建一个额外的标题行,创建自动过滤器并过滤所有列中的非空白

enter image description here

TA-taaaaa!