WPS提取文件及工作表名称函数来啦!

E精精
E精精

WPS函数专家

WPS这次更新是我这么多年来一直想要的功能,多表汇总真全自动化了!

本次新增:

1、SHEETSNAME/BOOKNAME

2、还有下面几个统计类函数,不过不常用,本次我们就不啰嗦了!STDEV.P/PERCENTRANK.EXC/PERCENTRANK.INC/PERCENTILE.EXC/PERCENTILE.INC

我们还是来看看最最让人爱的 SHEETSNAME吧!

SHEETSNAME-语法说明

SHEETSNAME语法:

=SHEETSNAME([工作表引用],[方向:0-横 1-纵])

参数说明:

1、两个参数是可选参数,默认返回当前工作簿的全部工作表名称

2、第一参数:单元格引用,返回对应引用的工作表名称(具体看后面案例)

3、第二参数:结果是数组的显示方式,默认水平显示一行,对应的是0,如果想纵向一列显示,设置为1即可!

SHEETSNAME-基础用法

我们先来看以后大家使用频率最高的用法,也就是直接书写,返回全部工作表名称!

▍用法01 - 获取全部名称

什么参数都不写,默认就是获取当前文件中的全部工作表名称!

の注意: 不包括隐藏的工作表名称!小编感觉这点,其实可以添加参数来控制更加友好一些,可惜目前的版本没有相关参数!

▼ 案例中有一个隐藏的Sheet5

▍用法02 - 获取当前工作表名称

获取当前表名称,可以借助第一参数,给当前工作表的任意一个单元格即可,类似VBA中单元格的.Parent.Name!

参数可以选择当前表的任意单元格即可,核心获取的是单元格对象的父对象名称!也就是工作名称!

▍用法03 - 获取指定工作表的名称

这里由于第一参数需要是引用,索引选择对应工作表的一个单元格即可!

第一参数也支持工作表组的写法!

の注意: 从目前测试来看,不支持跨文件获取!

▍用法04 - 返回第N个表的名称

没有参数,空值返回第N个表的名称,这点我感觉是可以考虑加入一个参数来控制的,不过不加也能实现,结果是一个数组,操作数据的函数有很多!

比如下面的案例,我们通过INDEX来获取第一个表的名称!按需要修改数字可以获取第N个工作表的名称!

如果想一次性获取多张表,也可以使用数组!

其他大家还可以配合DROP、TAKE等函数灵活操作,那就是数组操作的知识点了,跟本函数无关!

▍用法05 - 行列空值

第二参数 ,0是默认值,水平一行显示,如果想一列显示,需要指定参数为1。说实话,大部分情况我们希望是一列的,所以目前版本的默认值一行并不友好,个人感觉!

基础用法,我们就先说到这里,那么,到底有什么实战意义呢?最大的好处应该就是多表的交互处理,更加方便了!

SHEETSNAME-实战案例

下面我们通过实战案例来感觉一下这个函数的妙用!

▍实战案例01 - 判断是否有隐藏表

Sheets可以统计全部工作表的数量,包括隐藏的工作表,SheetsName目前会忽略隐藏的工作表,利用二者的数量差额,我们就可以判断是否隐藏的工作表!这里依然建议添加参数控制,是否获取隐藏的工作表!

=TEXT(SHEETS()-COUNTA(SHEETSNAME()),"0张隐藏;;无隐藏")

▍实战案例02 - 多表汇总

比如我们想对工作表名称符合条件的表进行汇总。下面案例演示对工作表名称末尾是“组”的表的A、B两列进行堆跌处理!

核心部分:

▼筛选工作表名称最后一个字符是“组”的表

=LET(s,SHEETSNAME(),t,FILTER(s,RIGHT(s)="组")

大家可以根据实际需要修改筛选的条件,或者按顺序指定!

▼完整函数公式
=LET(s,SHEETSNAME(),t,
REDUCE({"商品名称","数量"},
FILTER(s,RIGHT(s)="组"),
LAMBDA(x,y,
VSTACK(x,INDIRECT(y&"!A2:B99")))
),
FILTER(t,TAKE(t,,-1)<>0)
)

当然你还可以实现包括但不限于下面的一些常见需求:

1、判断表中是否存在指定名称的工作表?

2、多工作表查询!一般配合INDIRECT函数转引用

更多案例,大家可以再探索!目前该函数的“开荒”就到这里,有时间,我们还会进一步挖掘!

BOOKNAME函数

BOOKNAME函数没有参数,返回公式所在文件的名称!就是这么简单!

从目前测试来看,如果文件修改了名称,公式的结果并不会刷新,需要双击进入或者F9来刷新,这点有待改进!

关于本次WPS更新的两个核心函数,深度评测、体验、开荒就到这里!

新函数你觉得如何?
非常奈斯
5 (83%)
略有不足
1 (17%)
6人参与 投票已截止
江苏省
浏览 6999
6
14
分享
14 +1
15
6 +1
全部评论 15
 
懒猫抱抱
请问为什么我提取的工作表名称都是行的形式显示的呢?我第二个参数选了列也不行,对提取的结果转置粘贴也还是行的形式粘贴,想单独对结果中的一个 单元格复制粘贴也粘不了
· 辽宁省
回复
E精精
E精精

WPS函数专家

第二参数1,就是一列,不能复制一个,是因为结果是动态数组,是一个整体,转成数值,再复制即可!
· 江苏省
回复
 
渣渣
sheetsname函数已更新,可以再来一篇了
· 广东省
回复
E精精
E精精

WPS函数专家

前几天更新过了
· 江苏省
回复
 
WPS_1722171497
怎么才能得到这些函数?
· 四川省
回复
 
Jason
希望金山文档能同步更新
· 天津
回复
 
清华学弟任泽岩
清华学弟任泽岩

创作者俱乐部成员

功能很有趣,主要是没想到在啥题里能用
· 辽宁省
回复
E精精
E精精

WPS函数专家

动态多表汇总等,也就是跟动态获取工作表名称有关的应用,过去都是宏表函数来实现的!
· 江苏省
1
回复
 
亂雲飛渡
学习
· 广东省
回复
 
zha7090
zha7090

创作者俱乐部成员

函数越来越多,功能越来越强大,但是熟练掌握越来越复杂
· 广东省
回复
E精精
E精精

WPS函数专家

按需学习,每个需求不同,有人筛选求和即可,有人办公自动化,有人喜好…… 有了,需要用的时候多了一些选择!
· 江苏省
1
回复
 
wps新路
wps新路

WPS函数专家

如果文章字体放大一点点 那将是极好的
· 重庆
1
回复