我需要将地址分成几行以显示邮资。在选项卡 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