Excel多个工作表数据合并用VSTACK函数比用PQ快!
文 前 推 荐
新函数VSTACK和HSTACK用法新函数WRAPROWS和WRAPCOLS用法简化公式的函数LET新函数TOCOL和TOROW用法图片
图片
编按:
同一文件中有多张工作表(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,可以忽略空值。单击了解TOCOL函数。单击了解WRAPROWS函数。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中的数据。不懂LET函数的可以单击此处。 本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报。