複雑な文字列を個別のセルに解析する

複雑な文字列を個別のセルに解析する

さまざまなフィールド長を持つ文字列を別々の列に解析する必要があります。次の一連のデータがあります。

ここに画像の説明を入力してください

数式を使用して、列 D のさまざまなフィールド セクションに列 F、G、H、および I を入力したいと思います。現在のコンテンツは手動で作成しましたが、これを数式を使用して実行したいと思います。

大部分は正しく表示できますが、列 G で問題が発生しています。このデータには 2 文字 (01、03 など) が含まれる場合もあれば、5 文字 (01 ~ 16 など) が含まれる場合もあるためです。

答え1

これは、フォーマットが何か [スペース] 何か [スペース] などであると仮定すると、それを実行する簡単な方法です。コツは、データ (テキスト) ではなく、スペース (区切り文字) に焦点を当てることです。

  • 列 F =left($d6,find(" ",$d6)) これは find を使用して、どれだけ引き出すかを計算します。

  • 列 g =MID($D6,1+LEN(F6),FIND(" ",$D6,1+LEN(F6))-LEN(F6))

これは列fの後ろから始まるmidを使用し、2番目のスペースを探します

  • 列 h =MID($D6,1+LEN(F6&G6),FIND(" ",$D6,1+LEN(F6&G6))-1-LEN(F6&G6))

これも、同じパターンに従います。mid を使用して、前の 2 列のデータを過ぎてから次のスペースを探し、その差が使用する量になります。

そのままコピーしてください。

答え2

Excelでテキストを列に分割 ここに画像の説明を入力してください

選択する区切られた:

ここに画像の説明を入力してください

選択する空間:

ここに画像の説明を入力してください

「次へ」をクリックすると表示されます。

答え3

私は「テキストを列に分割」方法を使用しますが、数式を要求されたので、これを B2 にコピーして上下に入力します。

=TRIM(MID(SUBSTITUTE($A2," ",REPT(" ",999)),(COLUMN(A:A)-1)*999+1,999))

ここに画像の説明を入力してください

関連情報