打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
FILTERXML函数和SUBSTITUTE函数之间,隔着一个数据处理超能力!


欢迎转发和点一下“看”,文末留言互动!

置顶公众号或设为星标及时接收更新不迷路



小伙伴们好,今天继续和大家分享FILTERXML函数的用法。如果你没有高版本函数,那么FILTERXML就是一款非常不错的文本处理函数,它能够处理许多复杂的问题。

原题目是这样的:



题目要求将A列中的源数据拆分成3列,如B、C和D列所示。这又是一个非常有规律的数据。分隔符“=”和“--”刚好将源数据分割成了最终结果所希望的。处理这类问题正是FILTERXML函数的强项。

有些朋友可能会问了,这道题目是否可以使用SUBSTITUTE函数的经典分列公式呢?答案是肯定的。不过,SUBSTITUTE函数却有一定的局限性。

在字符串很长,分列的字符串段长度不一致,分列的数量不固定时,TRIM+MID+SUBSTITUTE的组合就不适用了,而FILTERXML+SUBSTITUTE组合就能很好地处理。

在这一点上,FILTERXML函数的组合对源数据有更强的处理能力。


01



SUBSTITUTE($A2,"--","=")

利用SUBSTITUTE函数将“--”替换为“=”,为下面的替换做准备。

SUBSTITUTE(SUBSTITUTE($A2,"--","="),"=","</b><b>")

再次利用SUBSTITUTE函数将“=”替换为“</b><b>”。这也是FILTERXML函数对数据格式的要求。

"<a><b>"&SUBSTITUTE(SUBSTITUTE($A2,"--","="),"=","</b><b>")&"</b></a>"

在上面字符串的最左侧添加“<a><b>”,最右侧添加“</b></a>”之后,就可以使用FILTERXML函数来提取数值了。

最后在单元格B2中输入下列公式,并向下向右拖曳即可。

=INDEX(FILTERXML("<a><b>"&SUBSTITUTE(SUBSTITUTE($A2,"--","="),"=","</b><b>")&"</b></a>","a/b"),COLUMN(A1))

提取的结果是三段字符{20000;"26*37*10.5";0.319},最后利用INDEX函数依次提取出来到对应的列中就可以了。

本期内容练习文件提取方式:

链接:https://pan.baidu.com/s/1Ebl6YCBvYt57mOiZ2AD1eA?pwd=uzk1

提取码:uzk1


好了朋友们,今天和大家分享的内容就是这些了!喜欢我的文章请分享、转发、点赞和收藏吧!如有任何问题可以随时私信我哦!

-END-

长按下方二维码关注EXCEL应用之家

面对EXCEL操作问题时不再迷茫无助

我就知道你“在看”

推荐阅读
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
2022年日历表(一月一张打印版)
手机怎么定位对方的手机所在位置?学会这个小窍门,定位再也不用愁
二十四山立向线法大全
宏--战士宏--通用 老雷
旧电脑比新电脑还好用还流畅的方法
6个完全免费的录音转文字神器,让你事半功倍
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服