
我的公式的任務是提取以下類似 XML 的文字中的元素Value
:Item Number Type
<CustomField>
<Name>Level of Concern</Name>
<Value>N/A</Value>
</CustomField>
<CustomField>
<Name>Item Number Type</Name>
<Value>None</Value>
</CustomField>
“None”是所需的子字串。做好準備迎接一個真正可怕的公式:
=MID(D8, SEARCH("Item Number Type</Name><Value>", D8) + 30,
SEARCH("<", D8, SEARCH("Item Number Type</Name><Value>", D8) + 30)-
(SEARCH("Item Number Type</Name><Value>", D8) + 30))
這個公式有效。如果沒有變數(即能夠儲存使用了 3 次的子字串起始索引),我不知道如何以更乾淨、更有效的方式完成我需要的操作,是嗎?
答案1
假設您使用的是最新的 Excel,您也許可以用來FILTERXML
執行 Xpath 查詢。
您可能還需要將類似 XML 的文字包裝在根元素中,從而將其轉換為有效的 XML。
就像是:
=FILTERXML("<root>" & D8 & "</root>",
"//CustomField[Name='Item Number Type']/Value/text()")