ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 5533|回复: 15

[分享] 聊聊最新的TEXTSPLIT函数,开荒中……

[复制链接]

TA的精华主题

TA的得分主题

发表于 2022-3-29 01:01 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
刚更新了最新的版本,于是马不停蹄的测试了一波,之所以这么积极,因为我再2020年6月的时候自己封装了一个,萌生了一种:微软是不是“借鉴”了我的感觉(纯属臆想)!当时是叫做SPLITTEXT,这次干脆改叫STEXTSPLIT,和官方的函数一起碰一碰!

一、基础语法

=TEXTSPLIT(文本, 列分隔符, [行分隔符], [是否忽略空], [超出填充])
image.png
第3参数到第5参数都是可选的!

二、案例说明


1、常规拆分到列
  1. =TEXTSPLIT(A2,"")
复制代码
最常规的拆分,直接指定第二参数分隔符,支持动态数组,不用INDEX等函数配合使用!
image.png

值得说的是第二和第三参都支持数值(常量和一般数组)

个人的自定义函数,不能说效果差不多,就是一模一样……
image.png

2、第二参数支持数组

  1. =TEXTSPLIT(A2,{"市","号"})
复制代码
常量数组,当然你写在单元格中的多个分隔符也是支持的!
image.png

我自定义的,这点肯定早也实现了……
image.png


3、第三参数-拆分到行

  1. =TEXTSPLIT(A1,,CHAR(10))
复制代码
首先是常规的拆分到行,第二参数不写,需要逗号占位!



4、二维拆分
  1. =TEXTSPLIT(A1,":",CHAR(10))
复制代码
同时指定行列分隔符,即可实现二维的拆分!


配合TRANSPOSE,基本完美
image.png

5、第五参数容错
第五参数,其实符号微软最近的更新风格和XLOOKUP,一个参数专门用于容错!

默认错误值
image.png

我们可以指定,错误后显示的内容,比如空
  1. =TRANSPOSE(TEXTSPLIT(A1,":",CHAR(10),,""))
复制代码

image.png

6、第四参数什么意思
第四参数,就是分隔符重复出现时,如何处理的问题,默认他是保留空值的,我们可以指定为TRUE即可忽略,这点我感觉默认忽略比较好,于是我自己设计的就是默认忽略的

默认参数FALSE-保留
image.png

TRUE,忽略重复,删除空值
image.png



我的自己的自定义默认是忽略的,同时支持单字符写在一起,主要是为了方便,毕竟常量数组写起来麻烦
image.png

当然数组也是支持的
image.png
也可以支持参数,来保留空值,只是早些时候设计,跟他正好相反!
image.png


三、已实现,目前他没有的功能

1、支持正则拆分

写法有点JS,需要放在/正则/
  1. =STEXTSPLIT(A2,"/\d/")
复制代码

image.png

2、第三参支持更加丰富

image.png

> 第三参数为常规文本,替换第二参数中分隔符
image.png

> 倒序提取:负数,从后往前提取
image.png

> 正序提取:从前往后
image.png

图片上限,一楼继续……


评分

5

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-3-29 01:06 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
今日图片上限了,等明天吧,把剩下的更新完

TA的精华主题

TA的得分主题

发表于 2022-3-29 08:07 | 显示全部楼层
正期待中,越来越精彩了,能上传附件就更理想了

TA的精华主题

TA的得分主题

发表于 2022-3-29 08:08 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
谢谢分享,可否把你的自定义函数发出来下

TA的精华主题

TA的得分主题

发表于 2022-3-29 12:51 来自手机 | 显示全部楼层
有点JS,需要放在/正则/
=STEXTSPLIT(A2,"/\d/")

应该是\d+吧

正则表达式拆分还是比较普遍的。
Screenshot_2022-03-29-12-48-41-620_com.chrome.dev.jpg
Screenshot_2022-03-29-12-49-39-002_com.chrome.dev.jpg

TA的精华主题

TA的得分主题

发表于 2022-3-29 12:56 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
学习一下。。。

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-3-29 13:06 | 显示全部楼层
zpy2 发表于 2022-3-29 12:51
有点JS,需要放在/正则/
=STEXTSPLIT(A2,"/\d/")

连续多个数值 当成多个连续分隔符处理,写法不同,含义不同,\d+也是Ok的

TA的精华主题

TA的得分主题

发表于 2022-3-29 13:38 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
学习一下。感谢分享。试用版的365还没看到这些新的函数!

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-3-29 14:14 | 显示全部楼层
jians0529 发表于 2022-3-29 13:38
学习一下。感谢分享。试用版的365还没看到这些新的函数!

Beta通道 image.png

TA的精华主题

TA的得分主题

发表于 2022-3-29 15:00 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-18 23:00 , Processed in 0.039444 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表