打开APP
userphoto
未登录

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

开通VIP
FILTERXML函数的妙用
userphoto

2022.05.18 四川

关注

在单元格A1中有一个包含“|”符号的字符串:

1|A|2|B|33|CC|4D|5CCC|1F|6YY43F5|9CD

现在,要求在单元格A2中输入一个公式,将其解析成由字符串构成的数组:

{1;'A';2;'B';33;'CC';'4D';'5CCC';'1F';'6YY43F5';'9CD'}

这个公式有一些限制:

1.不能使用VBA自定义函数,只能使用Excel内置函数。

2.不能使用MID函数。

在单元格A2中输入的公式为:

=FILTERXML('<a><b>'&SUBSTITUTE(A1,'|','</b><b>')&'</b></a>','//b')

在公式中,使用了不常见的FILTERXML函数来达到了我们的目的,如下图1所示。

图1

我们先来看看FILTERXML函数。

FILTERXML函数解析XML字符串,返回参数xpath提供的单个元素(节点或属性)。其语法为:

FILTERXML(xml,xpath)

其中,xml是有效的xml格式字符串,xpath是标准xpath格式字符串。

有些网站开发基础的朋友可能会知道,xml是用于编码文档的标记语言,有着严格的解析/验证;xpath是一种用于选择XML元素(如节点和属性)的查询语言,适用于XML和HTML。

对于本示例来说,公式中的:

'<a><b>'&SUBSTITUTE(A1,'|','</b><b>')&'</b></a>'

生成标准的XML:

'<a><b>1</b><b>A</b><b>2</b><b>B</b><b>33</b><b>CC</b><b>4D</b><b>5CCC</b><b>1F</b><b>6YY43F5</b><b>9CD</b></a>'

而参数xpath指定:

//b

表明接受标签b,并返回其节点内容。

很巧妙!

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
强大的FILTERXML函数
数据提取SUBSTITUTE也有力不从心的时候,别急,你只要会海鲜大法就可以啦!
2017年最全的excel函数大全(2)—web函数
Excel技巧—一个公式实现中英文翻译
鲜为人知但很有用的函数——filterxml
这个生僻函数能帮我们解决很多传统的难题!
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服