把很多的Excel表汇总成一个怎么做效率高?

瞥一眼文化


Excel数据汇总中有这样一个问题:在很多个工作表中,同一项数据都位于同一个单元格,比如:每个月份的销量都位于每个月份工作表的B1单元格,而我们需要把每个月的销量汇总到一个总表中,在该总表中,各个月的销量分布为同一列。

这种汇总情况如下动图:

以上示例中,每个分工作表的命名是有规律的:从1到12月。但这种有规律的情况,只是个例,而普遍存在的是:每个分工作表的名称是无规律可寻的。

比如,以下动图,各个分表名称是超市名,而超市名是没有1——12等数字规律的:

上述两种情况,需要不同的汇总方法。

韩老师一一讲述:

分表名称有规律

公式实现

在B2单元格输入公式:

=IFERROR(INDIRECT(ROW(A1)&"月"&"!B1"),"")

公式向下填充,即得所有工作表B1单元格的数据。

公式解析

ROW(A1)&"月":

公式在B2单元格时,ROW(A1)返回1,即得工作表名称1月,公式向下填充到B3单元格时,该部分变为ROW(A2),即得工作表名称2月,再向下填充,得到其它月份工作表名称。

ROW(A1)&"月"&"!B1":

连接工作表名称与单元格,得到:1月B1,2月B1,……12月B1.

INDIRECT(ROW(A1)&"月"&"!B1"):

引用1月B1,2月B1,……12月B1的值。

IFERROR(INDIRECT(ROW(A1)&"月"&"!B1"),""):

如果引用有结果,返回正确值,否则返回空值。

分表名称无规律

1、鼠标放在第一个超市名称的单元格A2,【公式】——【定义名称】:输入名称BM(此名称可任意取),引用位置处输入公式:

=INDEX(GET.WORKBOOK(1),ROW(A2))

GET.WORKBOOK(1)是宏表函数,取所有工作表的名称。

2、在A2单元格输入公式:

=IFERROR(BM,"")

向下填充,得到所有超市名称:

IFERROR函数是容错处理,如果没有超市名称,返回空值。

3、在B2单元格输入公式:

=IFERROR(INDIRECT(A2&"!B1"),"")

公式向下填充,即得所有超市工作表B1单元格的数值:

4、如果不喜欢上图中带工作簿名称的超市名,可以把公式改为:

=IFERROR(MID(BM,13,9),"")

因为工作簿名称有12个字节,所有用公式MID(BM,13,9),从第13个字节开始提取超市名称。其中9是随意取的长度,根据超市名称字符数的多少,该数值可灵活改变。

※特别注意:

工作表名称无规律的情况,因为引用了宏表函数,所以文件保存时要保存成“启用宏的工作簿.xlsm”。


韩老师讲office


显然使用工具效率最高,如果懂一些vba,开可以高度定制,要怎么汇总都行

用我制作的Excel880全能合并工具,免费开源,9大自定义功能,自由填写参数后可满足90%的表格合并场景,已经2万人下载使用! 详见如下 获取本工具只需私信回复36793即可获得

合并过程动画如下

主要功能如下

  1. 单文件里多个sheet可合并

  2. 单文件里指定的几个sheet名进行合并

  3. 同目录下多个文件合并

  4. 多个文件里指定的几个或者一个sheet名进行合并

  5. 指定待合并表的表头行数

  6. 指定是否按原格式(复制粘贴方式可带格式),选择否则只合并数据不带格式

  7. 可选择是否备注每行数据来源表名

  8. 带合并进度条显示

  9. VBA代码全部开源,可自有修改代码以适合个性合并

主要代码如下

本工具只需关注后私信回复36793即可获得,附使用说明视频讲

http://toutiao.com/item/6395918373531681281/


分享到:


相關文章: