Excel - 尋找大字串中的子字串列表

Excel - 尋找大字串中的子字串列表

我一直在努力解決以下問題;可能有點挑戰。

我有一個從 XML 應用程式匯出的 Excel 檔案。

表1包含如下字串行。每個奇數行大約有 10 個這樣的字串,但這可能會有所不同。 (我正在尋找一種解決方案來填充偶數行;見下文。)

表2,A 列,包含一系列字串,例如Measurement_1Ref_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 檔案開始並使用 Power Query 加載項來載入它。它有一個特定的「來自 XML」處理程序,您可以使用 Power Query 命令輕鬆地調整資料。

以下是我使用 XML 內容的編輯版本建立的範例(我添加了根元素和結束標記以使其成為有效的 XML 檔案)。

Power Query - 來自 XML 檔案範例

實現您想要的目標所需的唯一操作是選擇“屬性:屬性”列,然後選擇“刪除列”/“刪除其他列”。

您可以在背景看到結果 - Excel 表格。每當 XML 檔案發生變更時,您只需按一下「刷新」即可重新執行 Power Query。

相關內容