某些数据的 FilterXML 公式为空
FilterXML Formula Comes Empty for some of Data
我有一个问题,希望你能帮上忙。我一直在使用 MS Excel 2016,其中我有很多数据,例如下面的附件。
其中 FILTERXML
适用于某些单元格并提取数据,但它也不适用于某些具有相似数据且 returns 为空的单元格。
我尝试清理单元格数据,同时查看其他单元格数据,结果出现在公式中,但它仍然不起作用。
非常感谢您的帮助。
=IFERROR(FILTERXML("<a><b>"&SUBSTITUTE(SUBSTITUTE($A2,B&":","<r/>"),CHAR(10),"</b><b>")&"</b></a>","//b[r]["&COUNTIF($B:B,B)&"]"),"")
https://drive.google.com/file/d/1Xv4BUh8sObhVirqYK2fsLfwsydvrs4rv/view?usp=sharing
您的公式使用 XML
过滤,使用 XPATH
。但是对于XML
,有些字符有特殊含义,必须转义。例如,您的文本 Pharmacy: 1ST AID PHARMACY & SURGICAL SUPPLIE
在 XML
中必须是 Pharmacy: 1ST AID PHARMACY & SURGICAL SUPPLIE
。这是因为 &
标记了 XML
中实体的开始,如果它没有那个含义就需要转义。
因此您必须将所有 &
替换为 &
。
=IFERROR(FILTERXML("<a><b>"&SUBSTITUTE(SUBSTITUTE(SUBSTITUTE($A2,"&","&"),B&":","<r/>"),CHAR(10),"</b><b>")&"</b></a>","//b[r]["&COUNTIF($B:B,B)&"]"),"")
但是还有多个这样的角色。例如字符 <
必须是 <
。这是因为 <
标记了 XML
中标签的开始,如果它没有那个意思就需要转义。
=IFERROR(FILTERXML("<a><b>"&SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE($A2,"<","<"),"&","&"),B&":","<r/>"),CHAR(10),"</b><b>")&"</b></a>","//b[r]["&COUNTIF($B:B,B)&"]"),"")
也许还有其他人,所以 SUBSTITUTE
链越来越长。
我有一个问题,希望你能帮上忙。我一直在使用 MS Excel 2016,其中我有很多数据,例如下面的附件。
其中 FILTERXML
适用于某些单元格并提取数据,但它也不适用于某些具有相似数据且 returns 为空的单元格。
我尝试清理单元格数据,同时查看其他单元格数据,结果出现在公式中,但它仍然不起作用。
非常感谢您的帮助。
=IFERROR(FILTERXML("<a><b>"&SUBSTITUTE(SUBSTITUTE($A2,B&":","<r/>"),CHAR(10),"</b><b>")&"</b></a>","//b[r]["&COUNTIF($B:B,B)&"]"),"")
https://drive.google.com/file/d/1Xv4BUh8sObhVirqYK2fsLfwsydvrs4rv/view?usp=sharing
您的公式使用 XML
过滤,使用 XPATH
。但是对于XML
,有些字符有特殊含义,必须转义。例如,您的文本 Pharmacy: 1ST AID PHARMACY & SURGICAL SUPPLIE
在 XML
中必须是 Pharmacy: 1ST AID PHARMACY & SURGICAL SUPPLIE
。这是因为 &
标记了 XML
中实体的开始,如果它没有那个含义就需要转义。
因此您必须将所有 &
替换为 &
。
=IFERROR(FILTERXML("<a><b>"&SUBSTITUTE(SUBSTITUTE(SUBSTITUTE($A2,"&","&"),B&":","<r/>"),CHAR(10),"</b><b>")&"</b></a>","//b[r]["&COUNTIF($B:B,B)&"]"),"")
但是还有多个这样的角色。例如字符 <
必须是 <
。这是因为 <
标记了 XML
中标签的开始,如果它没有那个意思就需要转义。
=IFERROR(FILTERXML("<a><b>"&SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE($A2,"<","<"),"&","&"),B&":","<r/>"),CHAR(10),"</b><b>")&"</b></a>","//b[r]["&COUNTIF($B:B,B)&"]"),"")
也许还有其他人,所以 SUBSTITUTE
链越来越长。