我是【桃大喵学习记】,欢迎大家关注哟~,每天为你分享职场办公软件使用技巧干货!
——首发于微信号:桃大喵学习记
在日常工作中,我们经常遇到多个月份(或部门)数据分散存储,而最终需要汇总查询的场景。如果每次都用复制粘贴,不仅效率低下,还容易出错。今天跟大家分享的是Excel跨表合并查询经典解决方案。
场景说明:
数据源:1月、2月、3月 三个工作表,结构一致(含“员工姓名”、“报销金额”等字段)
目标表:汇总查询工作表
需求:
①一键合并所有月份数据
②支持按“员工姓名”和“全部”筛选查询
③后续新增 4月、5月等工作表时,汇总结果自动更新,无需修改公式

下面直接上干货,在目标单元格中输入公式:
=FILTER(
VSTACK('1月:固定不动'!A2:E200),
(VSTACK('1月:固定不动'!D2:D200)<>"") *
((VSTACK('1月:固定不动'!B2:B200)=H1) + (H1="全部"))
)
然后点击回车即可

解读:
上面公式比较长,但是逻辑比较容易理解主要是利用FILTER函数+VSTACK函数进行数据合并和多条件查询。
①VSTACK('1月:固定别动'!A2:E200)
将 '1月' 到 '固定不动' 之间所有工作表的 A2:E200 区域纵向堆叠合并,如果后续新增"4月"、"5月"工作表,只要它们位于"1月"和"固定不动"之间,就会被自动纳入合并范围,无需修改公式!
这个合并后的数据作为FILTER函数的作为数据返回区域。
②(VSTACK('1月:固定不动'!D2:D200)<>"")
由于每个表格的行数不一样,实例中选择的是每个表格合并到200行,选择合并区域进行扩大范围后,有很多的空值也会掺杂在汇总表格中。

这时就需要判断合并后D列(假设为"报销金额"或关键字段是否非空,即合并所有工作表D列姓名作为条件,D列姓名数据不为0才符号条件。
③((VSTACK('1月:固定不动'!B2:B200)=H1) + (H1="全部"))
在符合上一个条件后,然后再查询合并后的B2:B200是否等于查询的姓名或者是否等于全部,是或的关系,只要满足一个即可。这样就实现了按指定姓名或者直接显示全部信息。
④最后就是FILTER(数据区域, 筛选条件)
从合并后的数据中,提取同时满足以下两点的行:
① D列非空(有实际数据)
② 并且满足姓名条件或 H1="全部"
亲爱的小伙伴们:
如果你正在为复杂繁琐的WPS表格/Excel操作困扰,希望通过掌握实用技能显著提升工作效率、减少无效加班——你可以考虑下我的WPS表格/Excel系列课程。
以上就是【桃大喵学习记】今天的干货分享~觉得内容对你有所帮助,别忘了动动手指点个赞哦~。大家有什么问题欢迎关注留言,期待与你的每一次互动,让我们共同成长!
夜雨聆风