用函数合并多个工作表数据
作者:小窝来源:部落窝教育发布时间:2024-05-16 16:37:26点击:1430
编按:
同一文件中有多张工作表(sheet),如1月、2月、3月……12月。如何按条件将多个表的数据合并在一张表中?相比PQ方法,用函数VSTACK合并更快捷。
将一个文件(工作簿)的多张工作表合并成一张表,可以用PQ,也可以用函数。相对来说,用函数更便捷。下面,小窝介绍用VSTACK函数合并多表数据。
1.合并位置不连续的工作表
当前文件有5个月份的数据。
现在需要合并2月和4月的数据到汇总表中。2月和4月两张表的排列位置不连续(中间有其他表间隔)。
公式=VSTACK('2月'!A2:E96,'4月'!A2:E90)
2.合并位置连续的工作表
譬如合并3月、4月、5月的数据。这三张表的排列位置是连续的,可以用简写公式进行合并。
公式=VSTACK('3月:5月'!A2:E100)
说明:
(1)简化
如果仍按1中的方法写,公式会比较长,=VSTACK('3月'!A2:E100,'4月'!A2:E100,'5月'!A2:E100)。
位置连续的表,可以简化,只需用冒号将首尾两张表的名称连起来即可,'3月:5月'!A2:E100。
如果要汇总当前表外的所有表,如这里的1月到5月,可以用通配符*进一步简化,公式写成= VSTACK('*'!A2:E100)。
(2)行数不一致的处理
当前5张表的行数并非不一致,且都小于100,在合并中,多余的空行会被赋值为0,因此公式=VSTACK('3月:5月'!A2:E100)的汇总结果中有值为0的行。
可以修改公式,消除各表行数不一致的空行。
公式=WRAPROWS(TOCOL(VSTACK('3月:5月'!A2:E100),1),5)
TOCOL函数的第2参数为1,可以忽略空值。
3.按条件合并多个工作表
有时我们需要按指定条件合并表中的数据,譬如只合并1月到5月“刘宏”的数据。
简单,可以在合并的基础上进行筛选。
公式=LET(X,WRAPROWS(TOCOL(VSTACK('1月:5月'!A2:E100),1),5),FILTER(X,CHOOSECOLS(X,2)="刘宏"))
说明:
WRAPROWS(TOCOL(VSTACK('1月:5月'!A2:E100),1),5)得到5表的合并数据,将其设置为变量X,然后用Filter函数筛选X中的数据。
本文配套的练习课件请添加客服微信buluowojiaoyu索取。
做Excel高手,快速提升工作效率,部落窝教育Excel精品好课任你选择!
扫下方二维码关注公众号,可随时随地学习Excel:
相关推荐:
版权申明:
本文作者小窝;部落窝教育享有稿件专有使用权。若需转载请联系部落窝教育。