2016-11-14 7 views
0

データを含むカラムがあります。例:6B31-21045M22-AA
' - 'の前後にデータを分割しようとしています。同様カラム内のデータを分割する

A     B  C   D 
6B31-21045M22-AA 6B31 21045M22 AA 

私は

=LEFT(A2, SEARCH(“-”,A2)-1) and =Right(A2, SEARCH(“-”,A2)-1) 

を試みたが、もし " - " 一度、その後どのように私は6B31-21045M22-AAまたは 6B31-21045M22-AA-SWQ

+0

これはプログラミングに関する質問ではありません。 – Liam

答えて

0

を分割しない以上発生しますA1のデータと、B1には、次のように入力します

=TRIM(MID(SUBSTITUTE($A1,"-",REPT(" ",999)),COLUMNS($A:A)*999-998,999)) 

と全体にコピーします(これはまた、VBAで行うことができます)

enter image description here

EDIT#1を:VBA、selectあなたがしたいセルを使用して

これを実行して実行してください:

Sub Splitter() 
    Dim ary, i As Long, a 
    With ActiveCell 
     ary = Split(.Value, "-") 
     i = 1 
     For Each a In ary 
      .Offset(0, i).Value = a 
      i = i + 1 
     Next a 
    End With 
End Sub 
+0

VBAではどうしますか? – sam

+0

@sam ** 1つ以上のセルを処理するには、** EDIT#1。**を参照してください。ループ構造を使用してください。 –

4

数式やVBAスクリプトは必要ありません。 Text to Columns functionを使用できます。データを含む列を選択し、データパネルの[テキストを列に]ボタンを使用するだけです。次に、ウィザードでデリミタを選択し、 " - "記号を区切り記号として設定します。

関連する問題