WPS动态数组正式版发布,最新体验分享

会飞的鱼

KVP函数专家、创作者俱乐部成员

在灰度测试了一个月后,WPS动态数组功能正式版发布了,版本为2023秋季更新(15933),本次发布修改了灰度包的一些已知问题,同时增加三个文本类函数,分别是TEXTSPLIT、TEXTAFTER、TEXTBEFORE, 有幸在第一时间拿到安装包,体验到了WPS动态数组功能。

简单说下动态数组的优点,相同需求下动态数组溢出功能可以更简单、更快速、更优雅的实现,输入一个公式即可,无需三键确认,无需下拉或双击填充公式,特别在一些新函数的加持下,可以简化之前很多复杂的公式,以及可以实现很多之前只能通过VBA编程才可以实现的功能。并且在溢出功能的特性下可以大大提升计算效率。关于动态数组详细的使用说明,可以点下方链接查看。

动态数组详细说明

除了数组公式功能此版本增加三个文本类函数

1、TEXTSPLIT(指定分隔符号拆分文本到行或列)

本函数至少需要输入两个参数,第1个参数拆分文本(必填),第2、3参数必填其一(必填)。

=TEXTSPLIT("A-B-C","-")

  • 示例1

拆分省市区,输入公式后下拉,常规用法。

=TEXTSPLIT(A2,"-")

  • 示例2

第2、3参数分隔符号可以是数组,用多个符号或内容分隔

=TEXTSPLIT(A2,{".","-","/","年","月","日"})

  • 示例3

可以同时指定第2、3参数,把一个文本拆分成多行多列,如从word或txt复制粘贴的多行内容,可以直接拆分到多行多列。(本示例数据来源:沈老师)

=TEXTSPLIT(A2,"/",CHAR(10))

  • 示例4

当时间使用第2、3参数拆分到多行多列时,会根据拆分多行后的最大列数,返回总列数,拆分后列数少的列返回#N/A补齐数组。

=TEXTSPLIT(A2,"-",CHAR(10))

可以使用函数第6个参数来指定替换掉#N/A

=TEXTSPLIT(A2,"-",CHAR(10),,,"-")

  • 示例5

使用数字拆分,使用SEQUENCE函数生成10个数字,指定从0开始即可按数字拆分。

=TEXTJOIN("、",TRUE,TEXTSPLIT(A12,SEQUENCE(10,,0),,TRUE))

拆分后使用CONCAT、TEXTJOIN函数连接,也可以实现删除数字的功能

=TEXTSPLIT(A2,SEQUENCE(10,,0),,TRUE)

删除字母也同理,使用CHAR(ROW($64:$95))生成A到Z,指定第5参数不区分大小写。

=TEXTJOIN("、",TRUE,TEXTSPLIT(A18,CHAR(ROW($62:$93)),,TRUE,TRUE))

  • 示例6

可以使用TEXTJOIN函数把多行数据合并后使用TEXTSPLIT函数拆分,只输入一条公式可以解决问题,无需输入公式后向下填充,更加方便。

需要注意的是,使用此方法需要注意数据量大小,如果数量大此方法会报错,具体数量需要根据实际情况自行测试。

=TEXTSPLIT(TEXTJOIN("+",TRUE,A2:A7),"-","+")

=TEXTSPLIT(TEXTJOIN("+",TRUE,A11:A16),{".","-","/","年","月","日"},"+",TRUE)

  • 示例7

根据数量重复姓名

=TEXTSPLIT(CONCAT(REPT(A2:A4&"-",B2:B4)),,"-",1)

  • 示例8

根据姓名拆分到行(本示例只做了两列数据,多列数据也是可以实现的,公式相对长一些,本次就不做演示了)

=TEXTSPLIT(CONCAT(A1:A4&"-"&SUBSTITUTE(B1:B4,"、","+"&A1:A4&"-")&"+"),"-","+",1)

  • 示例9

不规则文本数据提取连接数字求和

=SUM(--TEXTSPLIT(CONCAT(IFERROR(--MID(A2,SEQUENCE(LEN(A2)),1)," "))," ",,TRUE))

以上是TEXTSPLIT函数的一些常用方法,我们可以看到,此函数功能是很强大的,在一些固定套路下,可以实现数据结构转换,并且在动态数组溢出的加持下,一条公式就可以解决问题。

2、TEXTAFTER(返回分隔符后的文本)

  • 示例1

根据地址返回市(县/区)

=TEXTAFTER(A2,{"-","+"})

  • 示例2

提取最后一级科目,有两种写法,需要设置第5或第6参数。

=TEXTAFTER(A2,"-",-1,,1)

=TEXTAFTER(B2,"-",-1,,,B2)

3、TEXTAFTER(返回分隔符前的文本)

  • 示例1

返回一级科目

=TEXTBEFORE(A2,"-",,,1)

以上内容是三个文本类函数的常用方法。

本次发布是小范围发布,目前官网还无法下载,近期会逐步放开,有小伙伴想提前体验的,有二个方法。

1、依次点击【WPS表格】→【三】→【关于WPS】→【检查更新】如果有提示可更新并且是15933版本,可以更新体验。

2、到WPS社区,报名参数灰度测试,可以到测试群里下载,社区链接如下(或点击[阅读原文]跳转报名)

https://home.wps.cn/topic/7961

辽宁省
浏览 4925
6
8
分享
8 +1
10
6 +1
全部评论 10
 
https://bbs.wps.cn/topic/15961?chan=share&fromshare=copylink
· 福建省
回复
 
学习
· 辽宁省
1
回复
非常实用!
· 辽宁省
1
回复
 
为什么只显示第一个的?=TEXTSPLIT(A2,"-")
· 广东省
1
回复
会飞的鱼

KVP函数专家、创作者俱乐部成员

可以截图看下
· 辽宁省
回复
 
cool
· 山西省
回复
 
还未正式发布吧?
· 广东省
回复
 
快给我更新!!!
· 江西省
回复
 
示例7,以前经常有类似需求,以前看过的其他处理方法都不易记忆,这个方法简介易懂,易于实现
· 安徽省
回复
 
yi

创作者俱乐部成员

· 江西省
回复