如何在 Excel 中将电话号码格式转换为数字?
在处理包含电话号码列表的 Excel 工作表时,您可能会经常遇到各种格式样式,例如括号、空格或破折号。这些非数字字符可能会干扰需要电话号码为纯数字序列的数据分析、系统导入或自动拨号过程。如果您需要通过仅从任何格式化的电话号码中提取数字来标准化您的数据,本文提供了几种实用的解决方案,以在 Excel 中高效实现这一点。
以下是您可能面临的情况的一个示例——左列包含不同格式的电话号码,而右列显示了所需的结果:电话号码去除了所有非数字字符,只留下连续的数字串。
使用公式将电话号码格式转换为数字
使用快速填充从格式化的电话号码中提取数字
使用 Kutools for Excel 将电话号码格式转换为数字
使用宏去除电话号码中的所有非数字字符
使用公式将电话号码格式转换为数字
Excel 的公式允许您删除不需要的字符,并仅保留电话号码列表中的数字。如果您不想使用加载项或编程,这种方法特别有用,并且适用于遵循一致格式的电话号码,例如 (123)456-7890 或 123-456-7890。但是,如果您的数据包含额外的非标准符号或字母,则可能需要更高级的技术。
1. 选择一个空白单元格(例如 C2),您希望在此显示提取的数字。输入以下公式并按 Enter 键:
=--SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2,"(",""),")","")," ",""),"-","")
注意:在此公式中,A2 是包含原始电话号码的单元格引用。如果您的数据位于不同的列或行,您可以修改此引用。
2. 在仍然选择单元格 C2 的情况下,拖动填充柄(单元格右下角的小方块)向下填充公式以应用于其余列表(例如,从 C2 到 C8)。这将对范围内的每个电话号码应用该公式。
现在,数据范围内的每个电话号码都应该被转换为仅包含数字的序列。
使用快速填充从格式化的电话号码中提取数字
Excel 的快速填充功能提供了一种智能的手动替代方案,用于从电话号码中提取数字——尤其适用于处理一致的列表格式或当您想要一种快速且无需公式的解决方案时。快速填充会根据您的手动输入评估模式,然后填充剩余的列以匹配您的示例。
1. 假设您的电话号码位于 A 列,从单元格 A2 开始。在相邻的列(B2)中,手动输入第一个电话号码中的数字,省略任何符号或空格(例如:1234567890)。
2. 移动到单元格 B3。开始输入下一个电话号码的数字。当您开始输入时,Excel 会自动检测模式并在键入值下方以灰色突出显示建议的自动填充内容。
3. 按 Enter 键接受快速填充建议,Excel 将用提取的数字填充整个列对应的所有行。
提示:如果快速填充没有自动触发,您可以通过选择完成的单元格并使用快捷键 Ctrl + E,或者通过点击功能区上的 数据 > 快速填充 来手动激活它。
预防措施:检查填充结果的准确性,特别是当电话号码具有不同格式时。快速填充可能无法很好地应对具有不可预测间距、混合格式或嵌入文本的列表。
总结建议:快速填充是一种针对一次性或小型数据集的快速方法,但如果您的原始数据发生变化,它不会动态更新。对于不断更新的列表,请考虑使用公式或 VBA 方法。
使用 Kutools for Excel 将电话号码格式转换为数字
对于寻求更便捷、交互式解决方案的用户,Kutools for Excel 中的 删除字符 工具可以高效地从选定单元格中删除指定的符号——包括破折号、空格、括号等。这种方法非常适合那些经常处理结构化数据并希望使用快速、菜单驱动的方法清理电话号码而不编写公式或代码的用户。
1. 选择包含要转换为数字的电话号码的范围,然后导航至 Kutools > 文本 > 删除字符。
2. 在 删除字符 对话框中,选择 自定义 选项,并在文本框中输入短横线 – 。您还可以通过将其添加到框中来指定要删除的其他字符,例如空格、括号或句点。设置后,单击 确定 以处理范围。
所选电话号码将立即更新,指定的字符将被删除,留下干净的数字序列,如下所示。
如果您想免费试用(30天)此工具,请点击下载,然后按照上述步骤进行操作。
使用宏去除电话号码中的所有非数字字符
如果您的任务涉及大量混合或不可预测格式的电话号码(包括特殊字符、空格、多余的标点符号、文本甚至国家代码),Excel 的 VBA 宏可以提供一种高度灵活和自动化的方式来一次清理这些条目。这种方法对于大型数据集或重复性清理任务特别有用。
适用场景:如果您的电话号码格式不规则、有很多行需要处理,或者内置公式或功能都无法完全满足您的需求,请使用 VBA。然而,使用宏要求以启用宏的格式 (*.xlsm) 保存您的工作簿并授予权限。
步骤:
1. 按 Alt + F11 打开 Visual Basic for Applications 编辑器。在新窗口中,点击 插入 > 模块 创建一个空白模块,然后将以下 VBA 代码复制并粘贴到代码窗口中:
Sub StripNonDigitsFromPhoneNumbers()
Dim xRg As Range
Dim xCell As Range
Dim xDigits As String
Dim i As Integer
Dim xTitleId As String
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set xRg = Application.Selection
Set xRg = Application.InputBox("Select the range with phone numbers", xTitleId, xRg.Address, Type:=8)
For Each xCell In xRg
xDigits = ""
For i = 1 To Len(xCell.Value)
If Mid(xCell.Value, i, 1) Like "#" Then
xDigits = xDigits & Mid(xCell.Value, i, 1)
End If
Next i
xCell.Value = xDigits
Next xCell
End Sub
2. 并点击 运行 按钮(或按 F5)。在出现的对话框中,确认或选择您的数据范围。宏将自动从您选择的每个单元格中去除所有非数字字符——只留下纯数字序列。
参数说明:此宏处理每个单元格中的每个字符,仅将数字追加到结果中。运行前调整选择以覆盖所有所需的列/行。
提示与错误提醒:在首次运行 VBA 脚本之前始终保存您的工作簿,因为更改不能一键撤销。如果您遇到宏安全警告,请验证代码来源并根据需要启用宏。在协作环境中,请谨慎操作以免覆盖关键数据。
总结建议:运行宏后,快速扫描清理后的数据以确保准确性。如果需要国家代码或分机号,请注意这些将被连接到数字字符串中;如有必要,请单独处理这些元素。
相关文章:
最佳办公效率工具
🤖 | Kutools AI 助手:基于智能执行、生成代码、创建自定义公式、分析数据并生成图表、调用 Kutools 函数等功能,彻底改变数据分析方式… |
热门功能:查找、高亮或标记重复项 | 删除空行 | 合并不丢失数据的列或单元格 | 四舍五入 ... | |
高级 LOOKUP:多条件 VLookup | 多值 VLookup | 多表查找 | 模糊查找 .... | |
高级下拉列表:快速创建下拉列表 | 从属下拉列表 | 多选下拉列表 .... | |
列管理器: 添加指定数量的列 | 移动列 | 切换隐藏列的可见状态 | 比较区域和列 ... | |
精选功能:网格聚焦 | 设计视图 | 增强编辑栏 | 工作簿与工作表管理器 | 资源库(自动文本) | 日期提取 | 合并数据 | 加密/解密单元格 | 按列表发送电子邮件 | 超级筛选 | 特殊筛选(筛选粗体/斜体/删除线...)... | |
排名前 15 的工具集: 12 种文本 工具(添加文本、删除特定字符等) | 50 多 种图表 类型(甘特图等) | 40 多种实用 公式(基于生日计算年龄等) | 19 种插入 工具(插入二维码、根据路径插入图片等) | 12 种转换 工具(小写金额转大写、汇率转换等) | 7 种合并与分割 工具(高级合并行、分割单元格等) | 还有更多... |
使用 Kutools for Excel 提升您的 Excel 技能,体验前所未有的高效。 Kutools for Excel 提供超过 300 种高级功能来提高生产力并节省时间。 单击此处获取您最需要的功能...
Office Tab 将标签式界面引入 Office,让您的工作更加轻松
- 在 Word、Excel、PowerPoint 中启用标签式编辑和阅读。
- 在同一窗口的新标签页中打开和创建多个文档,而不是在新窗口中进行操作。
- 将您的生产力提升 50%,每天为您减少数百次鼠标点击!