Excel 中简单的多表合并公式分享
原文标题:《玩转PowerQuery,告别VBA,最简单多表合并公式,限时抢先学!》
Excel工作簿可包含多个工作表。
例如,分月分表登记工资明细 👇
或者不同部门的登记,每个部门的所有业务在一张工作表中。
这种情况在工作中屡见不鲜。
许多人认为这样可以清晰查看数据,但实际上,却会给后续数据分析带来困扰。
那么,除了复制粘贴,是否有更快的方法将所有工作表合并?
下面介绍两个技巧,轻松上手!
1、VSTACK
该函数的优势:简单易用,即使原始数据变动,也能轻松引用。
劣势:不适用于非Office 365版本和WPS。
语法如下:
只需一个参数,即可合并多个表。
在【汇总表】的【A1】单元格输入以下公式:
=VSTACK('1月12月'$A$1$D$7)
公式含义:逐个将【1月】至【12月】工作表的【A1:D7】区域垂直堆叠在一起。
见下图:
这样就将12个工作表的工资数据汇总到一起。
也可先写好表头,从每张工作表的【A2】开始引用。
更新公式为:
=VSTACK('1月:12月'!A2:D7)
PS:该方法的一个小缺点是,若引用区域中无数据,将以0填充。
例如:【2月】工作表的第七行没有数据。
引用每张工作表的【A2:D7】后:
汇总表中缺少数据的单元格会显示0。
2、TOCOL
TOCOL仅适用于Office 365和WPS。
语法如下:
功能:将多行多列转换成一列。
如下图所示:
在【汇总表】的【A2】单元格输入以下公式:
=TOCOL('1月:12月'!A2:A7)
将【1月】至【12月】的【A2:A7】区域列排列在一起。
将公式向右拖动至【D2】,完成多表合并。
简单易行,不是吗?
PS:相较于VSTACK,TOCOL可忽略空白单元格,仅显示有数据的内容。
例如下图中的0:
若不希望其出现在表格中,可改变公式为 ↓
=TOCOL('1月12月'A2:A7,1)
公式的第二参数:1,可忽略空白单元格。
3、最后
分享了2种多表合并方法。
❶ VSTACK函数。
❷ TOCOL函数。
除此之外,也可以使用PowerQuery和VBA进行多表合并。
本文来源:秋叶Excel(ID:excel100),作者:明镜在心
广告声明:文内含有的对外跳转链接仅供参考,节省甄选时间。