이 하위 문자열 추출 수식을 더 효율적이고 읽기 쉽게 만들려면 어떻게 해야 합니까?

이 하위 문자열 추출 수식을 더 효율적이고 읽기 쉽게 만들려면 어떻게 해야 합니까?

내 수식의 작업은 다음 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>

"없음"은 원하는 하위 문자열입니다. 정말 끔찍한 공식에 대비하세요.

=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

FILTERXML최근 Excel을 사용하고 있다고 가정하면 Xpath 쿼리를 실행하는 데 사용할 수 있습니다 .

XML과 유사한 텍스트를 루트 요소에도 래핑하여 유효한 XML로 만들어야 할 수도 있습니다.

다음과 같은 것 :

=FILTERXML("<root>" & D8 & "</root>", 
           "//CustomField[Name='Item Number Type']/Value/text()")

관련 정보