![如何在带线的单元格中用逗号分隔符拆分文本?](https://linux22.com/image/1462671/%E5%A6%82%E4%BD%95%E5%9C%A8%E5%B8%A6%E7%BA%BF%E7%9A%84%E5%8D%95%E5%85%83%E6%A0%BC%E4%B8%AD%E7%94%A8%E9%80%97%E5%8F%B7%E5%88%86%E9%9A%94%E7%AC%A6%E6%8B%86%E5%88%86%E6%96%87%E6%9C%AC%EF%BC%9F.png)
我需要将地址分成几行以显示邮资。在选项卡 1 中,我有我的会员详细信息;在选项卡 2 中,我有我们邮寄的发票。
在标签 2 中,我运行一个VLOOKUP
函数来从标签 1 中提取成员的详细信息
PO Box 211, Alberton, 1450
现在问题开始出现了……
VLOOKUP
由于公式栏显示的是公式而不是实际地址,因此无法使用常规的“文本到列” 。
=IF(F7=""," ",VLOOKUP(F7,'Permanente en Jaarlede'!B4:Y2063,24,FALSE))
我如何更改我的地址:
PO Box 211, Alberton, 1450
到:
PO Box 211
Alberton
1450
当文本是公式的结果而不仅仅是一个简单的值时?
答案1
我不知道如何使用 Excel 公式来做到这一点,但这个 VBa 可以做到。
首先,在运行文件之前请先备份它。
它将获取 A1 的值并将其拆分为多行
Public Function Addy(cellToLookup As String)
Dim result As String
result = Range(cellToLookup).Value
Dim splitty() As String
splitty = Split(result, ",")
Dim i As Integer
i = 0
For i = 0 To UBound(splitty)
Range("B" & i + 1).Value = splitty(i) 'update for start row. EG, change B to col, and the +1 to +15 (if you want it to start on row 15)
Next i
End Function
您的问题不清楚的是,您需要多少行,以及是否需要多次执行此操作等,但希望这能让您开始。您可能还需要使用 VBa 执行查找,这应该很容易。
答案2
您可以用", "
替换"CHAR(10)"
。
确保为多行单元格启用了换行(文本换行):
如果 A1 看起来像PO Box 211, Alberton, 1450
,则在新单元格中使用:
=SUBSTITUTE(A1,", ",CHAR(10))
。
新的单元格看起来如下:
PO Box 211
Alberton
1450