Excel 中简单的多表合并公式分享

原文标题:《吊打 PowerQuery,气走 VBA,史上最简单的多表合并公式来了!》

Excel 一个工作簿中可以存放多张工作表。

比如分月分表登记工资明细 👇

又或者多部门的登记,也是一张工作表登记一个部门发生的所有业务等等。

这些在工作中数不胜数。

很多人以为这样能够清晰明了的反映和查看数据,但实际上,却是给后续数据统计分析带来麻烦。

那么,如果想把所有工作表数据合并到一起,除了复制粘贴,还有什么更快的方法吗?

下面就给大家介绍 2 个技巧,小白也很容易上手哦!

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),作者:明镜在心

广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,IT之家所有文章均包含本声明。

文章价值:
人打分
有价值还可以无价值
置顶评论
    热门评论
      文章发布时间太久,仅显示热门评论
      全部评论
      请登录后查看评论
        取消发送
        软媒旗下人气应用

        如点击保存海报无效,请长按图片进行保存分享