学会这个函数,总表拆成分表也简单!

你好,我是刘卓。欢迎来到我的公号,excel函数解析。今天和你分享的函数是get.document。它是个宏表函数,可以获取文件的一些信息,比如当前工作簿和工作表名。
-01-

函数说明

get.document返回指定文件的一些信息。语法如下,有2个参数:

GET.DOCUMENT(type_num, name_text)

第1参数type_num:指定信息类型的一个数字。有多种类型,具体参考文件的sheet2。常用的有1,76,88,64。

第2参数name_text:文件名。如果省略,为当前文件。通常是省略的。

-02-

示例解释

get.document(1)和(76)返回当前工作表名,包含工作簿名。get.document(88)返回当前工作簿名。如下图所示。
定义名称的步骤如下:点【公式】-【定义名称】,在名称中输入_gd1,引用位置输入公式=GET.DOCUMENT(1)&T(NOW()),点确定。
根据名称_gd1返回的结果,可以提取当前工作表名,公式为=MID(_gd1,FIND("]",_gd1)+1,99)。首先找到右中括号"]"的位置,然后从右中括号"]"后面的一位开始提取,提取的长度是99。
-03-
具体应用

1.按部门将总表拆分为多个分表

首先创建一个分表"人事部",并把公式写好。然后只需将这个分表多复制几个,再改一下表名就可以了。数据量小还是挺方便的。

那这个效果是怎么实现的呢?本质就是一个筛选公式,只不过条件是通过获取工作表名得到的。

在分表"人事部"的A1单元格输入下面的公式,右拉下拉填充,可以多填充一点。

=LOOKUP(,0/FREQUENCY(ROW(A1)-1,COUNTIF(OFFSET(数据源表!$C$1,,,ROW($1:$83)),bm)),数据源表!A$1:A2)&""

上面的公式,就是个一对多查询的公式,之前也讲过,不再重复说明,可以回顾《一对多查询竟然有这么多方法,惊呆我了!》这篇文章。

其中bm是一个名称,公式为=MID(GET.DOCUMENT(76),FIND("]",GET.DOCUMENT(76))+1,99)。用来获取当前工作表名,作为筛选的条件。这里用的是get.document(76)
链接:

https://pan.baidu.com/s/1rkX29pm5pn-KAuevvs6j2A

提取码:vb9h
(0)

相关推荐