私のExcelのコラムはこんな感じでいっぱいです:
1.) ABC:DCF
2.) DCF:FED
各単語を ":"に基づいて分割し、その結果をセル "A:1"の "ABC:DCF"のように隣接する列に配置します。セル "B:1"では "ABC"、セル "C:1"では "DCF"と各列の対応する値になります。これを行う方法?
[データ]タブに移動し、[テキストから列へ]オプションを選択します。後で、 "Delimited"オプションを選択してから "other"を選択し、あなたが望む任意のデリミタを置きます。
列へのテキストは機能します。元の値を維持したい場合は、式を使用することもできます。
B1の
=left(a1,find(":",a1)-1)
c1では
=mid(a1,find(":",a1)+1,len(a1))
あなたがVBAを使うことができるならば、あなたはSplit()
関数を利用することができます。これがセルで使用できるユーザー定義関数(UDF)です。それはあなたが選んだキャラクターに分割して n分割リストの番目の要素。
UDFを定義する方法については、 MS OfficeにVBAを追加する方法 を参照してください。
Function STR_SPLIT(str, sep, n) As String
Dim V() As String
V = Split(str, sep)
STR_SPLIT = V(n - 1)
End Function
だからあなたが入力する必要があるでしょう:
=STR_SPLIT(A1, ":", 1) // for the first half
=STR_SPLIT(A1, ":", 2) // for the second half
それをB1に貼り付けて、右の列と下の列にそれを埋めます。
=TRIM(MID(SUBSTITUTE($A1,":",REPT(" ",999)),COLUMNS($A:A)*999-998,999))
編集:以前にローカライズ版の公式を投稿しました。 '、'は ';'に置き換えられました。米国版のExcelではうまくいきません。
=TRIM(MID(SUBSTITUTE($A1;":";REPT(" ";999));COLUMNS($A:A)*999-998;999))