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 ファイルの例から

目的を達成するために必要な唯一のアクションは、Attribute:attrid 列を選択し、[列の削除] / [その他の列の削除] を選択することでした。

結果はバックグラウンドで Excel テーブルとして表示されます。XML ファイルが変更されるたびに、[更新] をクリックして Power Query を再実行するだけです。

関連情報