1

我有一个带有地址的单元格的 excel 文件。

3个不同的数据示例:

 123 Main Street/n Apartment2 /n New York, NY 10001
 123 Main Street/n New York, NY 10001
 123 Main Street

我想把它分成三个单独的字段。但是,如上述数据所示,有些 /n 出现 0 次,有些出现 2 次。有些会出现3次。

我可以处理一个事件: =LEFT(E6, SEARCH(" /n",E6,1)-2) =RIGHT(Export!E6,LEN(Export!E6)- SEARCH("/n",Export! E6,1)-1)

但是,当 /n 的数量不定时,我的公式开始崩溃

有什么建议么?

4

2 回答 2

5

值得回答的解决方案:

将“/n”替换为不在您的数据中的任何单个字符,例如@#$^~- 并使用Text to Columns.

全部替换可通过按CTRL+进行H

如果您不确定该字符是否在您的数据中,请在替换前通过搜索进行检查。

于 2013-02-07T20:18:43.737 回答
2

这是使用 VBA 的另一种方法

Option Explicit

Sub Sample()
    Dim MyArray() As String
    Dim ws As Worksheet
    Dim lRow As Long, i As Long, j As Long, c As Long

    '~~> Change this to the relevant sheet name
    Set ws = ThisWorkbook.Sheets("Sheet1")

    With ws
        lRow = .Range("A" & .Rows.Count).End(xlUp).Row

        For i = 1 To lRow
            If InStr(1, .Range("A" & i).Value, "/n", vbTextCompare) Then
                MyArray = Split(.Range("A" & i).Value, "/n")
                c = 1
                For j = 0 To UBound(MyArray)
                    .Cells(i, c).Value = MyArray(j)
                    c = c + 1
                Next j
            End If
        Next i
    End With
End Sub

屏幕截图(之前)

在此处输入图像描述

屏幕截图(之后)

在此处输入图像描述

于 2013-02-07T20:20:41.083 回答