我有一个带有地址的单元格的excel文件。
3个不同的数据示例:
123 Main Street/n Apartment2 /n New York, NY 10001
123 Main Street/n New York, NY 10001
123 Main Street
我想把它分成三个单独的字段。但是,如上面的数据所示,有些将出现0次/ n,有些将出现2次。有些人会有3次出现。
我可以处理一次,包括: = LEFT(E6,SEARCH(“/ n”,E6,1)-2) =右(出口!E6,LEN(出口!E6) - 搜索(“/ n”,出口!E6,1)-1)
然而,当有/ n
的可变数量时,我的公式开始崩溃有什么建议吗?
答案 0 :(得分:5)
解决方案值得回答:
将“/ n”替换为您数据中不存在的任何单个字符,例如@#$^~
- 并使用Text to Columns
。
全部替换可通过按 CTRL + H 获得。
如果您不确定数据是否在您的数据中 - 请在更换前通过搜索进行检查。
答案 1 :(得分:1)
这是使用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
SCREENSHOT(之前)
SCREENSHOT(之后)