如何在 Excel 中将地址号码与街道名称分开(6 种方法)
假设我们有以下数据集。让我们将地址列中的街道号码分成D列。
方法 1 – 组合 IF、ISERROR、VALUE、LEFT 和 FIND 函数
IF 函数测试条件,如果满足条件则返回一个值,如果不满足则返回另一个值。 ISERROR 函数验证值是否错误。 VALUE 函数将文本字符串转换为数字。 LEFT 函数返回从文本字符串开头算起的指定数量的字符。 FIND 函数在文本字符串中查找特定字符并返回该字符的位置。
步骤:
- 选择单元格C5。
- 输入以下公式:
=IF(ISERROR(VALUE(LEFT(B5,1))),"",LEFT(B5,FIND(" ",B5)-1))
- 按Enter键返回地址号码。
- 使用自动填充工具完成该列的其余部分。
公式如何运作?
- FIND(” “,B5)-1
在B5中查找空间并返回8。
- 左(B5,FIND(” “,B5)-1)
生成 711-2880。
- 值(左(B5,1))
输出为7。
- ISERROR(VALUE(LEFT(B5,1)))
输出为假。
- IF(ISERROR(VALUE(LEFT(B5,1))),””,LEFT(B5,FIND(” “,B5)-1))
最后,IF函数返回LEFT(B5,FIND(“”,B5)-1)的结果,即711-2880作为条件为假。
方法 2 – 组合 IF、ISNUMBER、VALUE、LEFT 和 FIND 函数
此方法与前一种方法几乎相同,只是我们将插入 ISNUMBER 函数而不是 ISERROR。此函数测试参数是否为数字并返回True或False。
步骤:
- 在单元格C5中输入以下公式:
=IF(ISNUMBER(VALUE(LEFT(B5,1))),LEFT(B5,FIND(" ",B5)-1),"")
- 按Enter键返回值。
- 使用自动填充来填充其余部分。
返回所需的输出。
公式如何运作?
- FIND(” “,B5)-1
此公式在 B5 中查找空格并返回8。
- 左(B5,FIND(” “,B5)-1)
生成 711-2880。
- 值(左(B5,1))
输出为7。
- ISNUMBER (VALUE(LEFT(B5,1)))
输出为真。
- IF(ISNUMBER(VALUE(LEFT(B5,1))),LEFT(B5,FIND(” “,B5)-1),””)
IF 函数返回LEFT(B5,FIND(” “,B5)-1) 的结果,即711-2880,条件是正确。
方法 3 – 使用 LEFT 和 FIND 函数
与之前的方法相比,该方法的公式非常简单。
步骤:
- 在单元格 C5 中,输入公式:
=LEFT(B5,FIND(" ",B5,1))
- 按输入。
- 使用自动填充返回所需的输出。
公式如何运作?
- FIND(” “,B5)-1
在B5中查找空间并返回8。
- 左(B5,FIND(” “,B5)-1)
生成 711-2880。
方法 4 – 使用文本分栏功能
步骤:
- 选择范围B5:B8。
- 选择数据➤数据工具➤文本到列。
将弹出一个对话框。
- 选择分隔并单击下一步。
- 选中空格复选框。
- 按下一步。
- 选择所需的目的地,然后按完成。
地址号码将按如下方式提取。
方法 5 – 使用 Excel VBA 代码
步骤:
- 转到开发人员选项卡并选择Visual Basic。
- 在弹出的VBA窗口中,选择插入➤模块。
将出现模块对话框。
- 复制以下代码并将其粘贴到框中:
Sub SplitAddNum()
Dim st As String
Dim p As Integer
Dim i As Integer
For Each cell In Selection
st = cell.Value
p = InStr(st, " ")
If p > 0 Then
i = Val(Left(st, p))
If i > 0 Then
cell.Offset(0, 1).Value = i
st = Trim(Mid(st, p, Len(st)))
End If
End If
cell.Offset(0, 2).Value = st
Next
End Sub
- 保存文件并关闭 VBA 窗口。
- 选择范围B5:B8。
- 单击开发人员➤ 宏。
将出现宏对话框。
- 选择SplitAddNum并按运行。
该宏将在单独的列中返回地址编号和地址的其余部分。
方法 6 – 使用快速填充功能
步骤:
- 输入第一行,如下图所示。
- 选择单元格C6,然后转到数据➤数据工具➤快速填充。
- 或者,同时按Ctrl和E键。
我们预期的结果返回了。
- 重复上述步骤返回其他字段。