查看原文
其他

【公式Plus】P_SHEETDATA,快速合并多工作表

拉登Dony 拉小登 2022-06-10

这是一个系列课程,叫做「公式Plus」

  • 什么是「公式Plus」。它是拉登师傅用VBA写的一组自定义公式。它可以把又长又难记的公式,变得短小精悍,好记又好用。

  • 举个例子:以提取单元格中文的公式为例

  • 每周一、周五更新

以下是本期内容





小B的故事

小B:师傅,关于多工作表合并,你有什么好的方法吗?

拉登:你不会搜吗?百度里不是一堆嘛!我随便就给你找来两篇文章。

方法1

百度经验的一篇文章

方法2

来自卢子“Excel不加班”的教程

小B:这些我都看了,要么太简单,要么就是用VBA实现,跟我的需求不一样,没用。我只想提取每一页里的姓名列。

小B:师傅,你的公式Plus里,没有相关的函数吗?

拉登:让我想想啊,行吧,下午帮你写一个,开始之前呢,咱们先看看,有哪些普通的方法,来解决你的问题。

合并多工作表数据

有两种方法来实现。

方法1

使用等于号,直接引用目标单元格里的数据。

方法2

如果你觉得每个工作表,都要用等于号引用,太麻烦了。可以用INDIRECT函数来引用。

INDIRECT方法确实快了不少,你得事先把工作表的名称,都准备好。还是有点麻烦。

另外呢,这两个方法,还会有些潜在的问题。

  1. 如果再合并其他列的信息,公式修改起来,比较繁琐

  2. 如果要把所有的数据,从上到下合并起来,还是得靠VBA

我刚刚在【公式Plus】里,新增了一个函数,叫做P_SHEETDATA,可以轻松的获取多个工作表中的内容,一起来看看吧!

P_SHEETDATA多工作表合并

少啰嗦,直接看效果。

1- 提取每页姓名列

2- 提取每页多列内容

3- 一键多工作表合并

小B:这个好,我最喜欢公式了,好记又好用。师傅,你说说这个公式咋用啊?

拉登:P_SHEETDATA的作用呢,是获取指定工作表中,指定位置的单元格内容。工作表的指定,是通过它的位置,也就是第1个、第2个等等来决定的。单元格的指定,是通过引用当前工作表对应单元的位置实现的

下面是P_SHEETDATA函数具体的结构:

  • 参数1,指定工作表的索引。有两种用法:

    • 填写数字,表示提取第几个工作表的内容。

    • 填写x-y格式的文本,例如“2-5”,表示从第2个工作表,一起提取到第5个工作表。当我们要把多个工作表的内容,合并到一个工作表中的时候,可以使用这个方法,比如上面的第3个效果。

  • 参数2,引用单元格的位置。比如引用A1单元格,那么公式就提取,所有指定工作表中,A1单元格的内容。

  • 参数3,数据索引。只有在参数1,使用“x-y”格式时,这个参数才起作用。例如效果3中,P_SHEETDATA会把多个工作表中的数据,合并在一起,通过这个索引值,获取索引位置的数据。

小B:师傅啊,你知道你这个【公式Plus】好在哪里吗?不是好在功能上,是好在思路上,一看就明白,一学就会。

拉登:我告诉你,【公式Plus】的功能再多,也都是为了弥补表格设计错误,给后期数据统计造成的麻烦。所以啊,你有时间,还要多看看师傅的「表格设计课」

小B:师傅,这个我知道!在公众号右下角的【精选文章】里就能找到,一直关注着呢!不说哦,我去合并工作表去了。

案例下载

公众号回复【SHEETDATA】,获取本节示例文件


获取P_SHEETDATA

  1. 关注我的公众号【拉小登】,回复【公式plus】,就可以免费下载了。

  2. 下载完成后,打开【公式plus】,然后打开你的表格,就可以使用P_SHEETDATA函数了。

我是拉小登,如果你喜欢我的文章,请转发或者打赏,有你的支持,我才能继续写出更多,更好的教程,咱们明天见。



本文完
源自拉登Dony的公众号【拉小登】(ladengchupin)


推荐阅读



【公式Plus】P_SPLIT 3秒搞定多列转1列

【公式Plus】P_SPLIT 提取文本,就该这么简单

【公式Plus】P_TEXTJOIN 解决内容合并难题

【公式Plus】提取数字,P_NUM一键搞定



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存