Microsoft Excel 2010 でコロン区切りを使用して 1 つのセルのデータを複数のセルに分割する

Microsoft Excel 2010 でコロン区切りを使用して 1 つのセルのデータを複数のセルに分割する

コロンの後の単語を新しい列に戻したいので、以下の例では、B に Specie、C に jehwejkrhwejkrhwe、D に 07/06/2018、E に Kim's Wizard Wand Shop、F に Q18FSESPE00374 を入れたいのですが、何かアイデアはありますか?

[ 製品 : Specie], [ UMR : jehwejkrhwejkrhwe], [ 有効日 : 2018/07/06], [ 挿入 : Kim's Wizard Wand Shop], [PolNo : Q18FSESPE00374]

答え1

=MID(A1,SEARCH(":",A1)+1,LEN(A1)-(SEARCH(":",A1)+1))

数式を各セルのデータに適用する必要があります。

これを sheet2 で実行して sheet1 のデータにポイントする方がよい場合があります。

答え2

これは 2 つの方法のいずれかで実行できます。


1 - ヘルパー行と 2 つの簡単な数式を使用:

ヘルパー行を含む数式のスクリーンショット

の式は次のB2とおりです。

=FIND(CHAR(1),SUBSTITUTE($A$1,":",CHAR(1),COLUMN()-COLUMN($B:$B)+1))

の式はB3次のようになります。

=MID($A$1,B2+1,FIND("]",$A$1,B2)-B2-1)


2 - ヘルパー行はないが、複雑な数式がある場合:

補助行のない数式のスクリーンショット

の式は次のB2とおりです。

=MID($A$1,FIND(CHAR(1),SUBSTITUTE($A$1,":",CHAR(1),COLUMN()-COLUMN($B:$B)+1))+1,FIND(CHAR(1),SUBSTITUTE($A$1,"]",CHAR(1),COLUMN()-COLUMN($B:$B)+1))-1-FIND(CHAR(1),SUBSTITUTE($A$1,":",CHAR(1),COLUMN()-COLUMN($B:$B)+1)))

上記の式をわかりやすくすると次のようになります。

=
MID(
  $A$1,
  FIND(CHAR(1),SUBSTITUTE($A$1,":",CHAR(1),COLUMN()-COLUMN($B:$B)+1))+1,
  FIND(CHAR(1),SUBSTITUTE($A$1,"]",CHAR(1),COLUMN()-COLUMN($B:$B)+1))-1
  -FIND(CHAR(1),SUBSTITUTE($A$1,":",CHAR(1),COLUMN()-COLUMN($B:$B)+1))
)

ノート

  • CHAR(1)この文字が使用されたのは、その文字が文字列に出現しないことがほぼ確実だからです。もちろん、ソース文字列に決して出現しないと確信できる他の文字に変更することもできます。

関連情報