Excel - 큰 문자열 내의 하위 문자열 목록 조회

Excel - 큰 문자열 내의 하위 문자열 목록 조회

나는 다음 문제로 어려움을 겪고 있습니다. 조금 어려울 수도 있습니다.

XML 응용 프로그램에서 내보낸 Excel 파일이 있습니다.

시트 1아래와 같은 문자열 행을 포함합니다. 모든 홀수 행에는 약 10개의 문자열이 있지만 이는 다를 수 있습니다. (짝수 행을 채울 수 있는 솔루션을 찾고 있습니다. 아래를 참조하세요.)

시트 2Measurement_1, 열 A에는 , Ref_NoMaximum_Velocity와 같은 문자열 범위가 포함되어 있습니다 .속성.

모든 홀수 행의 각 셀에서 이러한 속성을 각각 찾아야 합니다.시트 1, 붙여넣기 간격고유한아래의 새 행에 있는 이러한 문자열의 하위 문자열로 나타나는 속성은 각각 자체 셀에 있습니다.

생성된 행의 모든 ​​값은 고유해야 합니다.

이를 수행할 수 있는 함수, 정규식 또는 VBA 스크립트가 있습니까? 나는 포럼과 다른 곳에서 광범위하게 검색했지만 직접 수행하지 못했습니다.

이 모든 것이 이해되길 바라지만, 횡설수설하는 내용은 기꺼이 설명하겠습니다!


행 1

Cell A1:
<ref attrid="Measurement_1" equalsign="=" includeattrname="false" resolveto="valueandunit" separator=""><ref attrid="Measurement_1" equalsign="=" includeattrname="false" resolveto="valueandunit" separator=" - "></ref></ref>

Cell B1:
"<ref attrid="Ref_No" equalsign="=" includeattrname="false" resolveto="valueandunit" separator=""><ref attrid="Unit" equalsign="=" includeattrname="false" resolveto="valueandunit" separator=" "><ref attrid="Vector" equalsign="=" includeattrname="false" resolveto="value" separator=" (Dia)"><ref attrid="Object_Diameter" equalsign="=" includeattrname="false" resolveto="unit" separator=""><ref attrid="Thread_Size" equalsign="=" includeattrname="false" resolveto="valueandunit" separator=","><ref attrid="Object_Length" equalsign="=" includeattrname="false" resolveto="value" separator=" "><ref attrid="Object_Length" equalsign="=" includeattrname="false" resolveto="value" separator=" of ">"

Cell C1:
CONCATENATE("This ", LOWER(VAL("Device_Type")),F(AND(EXACT(VAL("Max_Temperature_Range"),("")),EXACT(VAL("Min_Temperature_Range"),"")),".",CONCATENATE("appeared to operate safely from a minimum temperature of ", VAL("Min_Temperature_Range"),UNIT("Min_Temperature_Range")," to a maximum temperature of ", VAL("Max_Temperature_Range"),UNIT("Max_Temperature_Range"),".")))

원하는 출력행 2다음과 같이 보일 것입니다 :

Cell A2:Measurement_1
Cell B2:Ref_No
Cell C2:Object_Diameter
Cell D2:Object_Length
Cell E2:Device_Type
Cell F2:Max_Temperature_Range
Cell G2:Min_Temperature_Range

답변1

XML 문자열이 이상해 보입니다. 불완전한 태그가 많이 있습니까?

어쨌든 저는 XML 파일에서 시작하여 파워 쿼리 추가 기능을 사용하여 로드했습니다. 여기에는 특정 "XML에서" 처리기가 있으며 파워 쿼리 명령을 사용하여 데이터를 쉽게 구성할 수 있습니다.

다음은 XML 콘텐츠의 편집된 버전을 사용하여 작성한 예입니다(유효한 XML 파일로 만들기 위해 루트 요소와 닫는 태그를 추가했습니다).

파워 쿼리 - XML ​​파일 예제에서

원하는 것을 달성하는 데 필요한 유일한 작업은 Attribute:attrid 열을 선택하고 열 제거/기타 열 제거를 선택하는 것이었습니다.

백그라운드에서 결과(Excel 테이블)를 볼 수 있습니다. XML 파일이 변경될 때마다 새로 고침을 눌러 파워 쿼리를 다시 실행하면 됩니다.

관련 정보