拆分列excel

时间:2016-11-14 14:14:10

标签: excel-formula excel-2010

我有一个包含例如: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

2 个答案:

答案 0 :(得分:4)

您不需要公式或VBA脚本。您可以使用Text to Columns function。只需选择包含数据的列,然后使用“数据”面板上的“文本到列”按钮。然后在向导中选择分隔符并设置" - "符号作为分隔符。

答案 1 :(得分:0)

使用 A1 中的数据,在 B1 中输入:

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

并复制:

enter image description here

(这也可以通过VBA完成)

修改#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