WPS一个核心函数搞定动态多表合并!
WPS函数专家
今天我们来聊一个老生常谈的话题,多表合并,过去多表合并,一般考虑使用VBA和Power Query,但是,现在时代不同了,函数也可以动态实现合并了,让我们一起来学习一下吧!
▍案例说明
一个Excel文件中,记录在一个月的数据,现在只有1月1日和1月2日两天的数据,后续还会陆续增加,现在我们的需求就是可以写一个公式,让后续新增的数据一次性汇总到1月汇总表中!实现动态多表汇总
▍详解01-动态获取表名
想要实现动态汇总,我们就需要动态回去工作表的名称,包括增删改三种情况!
WPS新增的SHEETNAME函数,可以一次性获取全部工作表名称,然后我们可以根据需要处理一下!
本案例,我们主要去掉第一个汇总表即可!同时我们新增一个表看一下是否动态更新!到这里我们就解决了动态获取工作表名称的难题
下一步,我们根据表名称获取对应的区域数据,上下堆起来即可!
▍详解02-动态获取
INDIRECT函数可以帮助我们把文本构建的单元格引用转成真的引用,从而获取单元格中对应的内容!
下面测试的是1月1日的数据,可见已经动态获取到!
那么如果表,又要如何处理呢?答案就是循环处理,每次处理的结果堆在上一次的结果后面,这个就应该想到使用REDUCE函数
▍详解03-动态汇总
这样全部数据就汇总进来了!REDUCE函数,也属于新增函数中最常用的函数之一了,未来办公必备函数,建议学习!
下面我们通过动画给大家演示一下,新增数据是否可以更新进来!
为了演示更加直观,我们新增一列日期!
▍详解04-动态更新效果
新增一个工作表1月4日的数据,也动态更新进入汇总表
▼ 动画演示-动态更新数据
到这里,我们已经实现了动态更新,但是考虑到数据行数可能不是固定的,汇总后也可以有很多空行,导致显示0,这个我们可以预留多一些,然后筛选到这些空行即可!
▍详解04-优化方案
以下就是优化后完美的动态汇总效果了,新增、更新和删除,汇总表都会同步更新!
=LET(t,REDUCE({"日期","客户ID","金额","备注"},DROP(SHEETSNAME(),,1),LAMBDA(x,y,VSTACK(x,INDIRECT(y&"!A2:D999")))),FILTER(t,TAKE(t,,1)<>""))
今天的内容就到这里,你学会了吗?更多办公必备365函数,欢迎关注我们,也可以选择我们的系统课程学习!
创作者俱乐部成员