
A tarefa da minha fórmula é extrair o Value
elemento Item Number Type
no seguinte texto semelhante a XML:
<CustomField>
<Name>Level of Concern</Name>
<Value>N/A</Value>
</CustomField>
<CustomField>
<Name>Item Number Type</Name>
<Value>None</Value>
</CustomField>
"None" é a substring desejada. Prepare-se para uma fórmula verdadeiramente terrível:
=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))
Essa fórmula funciona. Sem variáveis (ou seja, a capacidade de armazenar o índice inicial da substring que é usado 3 vezes), não sei como realizar o que preciso de uma maneira mais limpa e eficiente, e você?
Responder1
Supondo que você esteja usando um Excel recente, você poderá usá-lo FILTERXML
para executar uma consulta Xpath.
Você provavelmente precisará transformar o texto semelhante a XML em XML válido, envolvendo-o também em um elemento raiz.
Algo como:
=FILTERXML("<root>" & D8 & "</root>",
"//CustomField[Name='Item Number Type']/Value/text()")