171、Excel web函数之二--FILTERXML函数 FILTERXML函数可以获取xml结构化内容中指定路径下的信息。语法结构为: FILTERXML(xml,xpath)xml参数是有效的xml格式文本,xpath参数是需要查询的目标数据在xml中的标准路径。该函数可以结合WEBSERVICE函数一起使用,若WEBSERVICE函数获取的是xml格式的数据,则可以通过FILTERXML函数从xml的结构化信息中提取出目标数据。FILTERXML函数的计算对象也可以是人为搭建的xml格式的数据。FILTERXML函数应用示例:如下图所示,要从A列地址信息中利用分隔符“/”获取对应的省、市、区、街道信息。利用其它的Excel公式,这个任务是很容易完成的,这里介绍FILTERXML函数的用法。在B2单元格中输入公式“=TOROW(FILTERXML("<a><b>"&SUBSTITUTE(A2,"/","</b><b>")&"</b></a>","a/b"))”,拖动复制,得到下图所示结果:xml是一种可扩展标记语言,由xml元素组成,每个xml元素包括一个开始标记、一个结束标记以及两个标记之间的内容。上述示例公式中,<a>是开始标记,</a>是结束标记。<b>是子元素的开始标记,</b>是子元素的结束标记。公式中"<a><b>"&SUBSTITUTE(A2,"/","</b><b>")&"</b></a>"部分,首先用SUBSTITUTE函数将分隔符“/”全部替换为"</b><b>",然后在替换后的字符前后分别连接字符串"<a><b>"和"</b></a>",得到一个xml结构的字符串:<a><b>四川省</b><b>成都市</b><b>郫都区</b><b>郫筒街道</b></a>FILTERXML函数的第二个参数设置为“a/b”,表示提取a元素下各子元素b之间的内容。FILTERXML("<a><b>"&SUBSTITUTE(A2,"/","</b><b>")&"</b></a>","a/b")函数返回的是垂直多行的内存数组,如下图所示:最后通过TOROW函数转换为水平数组。当然,也可以使用自定变量函数来进行转换,比如输入公式“=LAMBDA(x,TOROW(FILTERXML("<a><b>"&SUBSTITUTE(x,"/","</b><b>")&"</b></a>","a/b")))(A2)”。然后下拉复制,得到以下结果: