如何在 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 脚本之前,请始终保存您的工作簿,因为更改不能一键撤销。如果遇到宏安全警告,请验证代码来源并根据需要启用宏。在协作环境中,请小心操作以免覆盖关键数据。
总结建议:运行宏后,快速扫描清理后的数据以确保准确性。如果需要国家代码或分机号,请注意这些将被连接到数字字符串中;如有必要,请单独处理这些元素。
相关文章:
最佳 Office 办公效率工具
🤖 | Kutools AI 助手:基于智能执行,彻底革新数据分析 |生成代码|创建自定义公式|分析数据并生成图表|调用 Kutools Functions… |
热门功能:查找、选中项的背景色或标记重复项|删除空行|合并列或单元格且不丢失数据|四舍五入(无公式)... | |
高级 LOOKUP:多条件查找 (VLookup)|多值查找 (VLookup)|多表查找 (VLookup Across Multiple Sheets)|模糊查找 (Fuzzy Lookup)... | |
高级下拉列表:快速创建下拉列表|依赖型下拉列表|多选下拉列表... | |
列管理器:添加指定数量的列 |移动列 |切换隐藏列的可见状态| 比较区域及列... | |
特色功能:网格聚焦|设计视图|增强编辑栏|工作簿 & 工作表管理器|资源库(自动文本)|日期提取|合并数据|加密/解密单元格|按列表发送电子邮件|超级筛选|特殊筛选(筛选粗体/倾斜/删除线等)... | |
热门15 大工具集:12 款文本工具(添加文本、删除特定字符等)|50+ 种图表 类型(甘特图等)|40+ 实用公式(基于生日计算年龄等)|19 款插入工具(插入二维码、按路径插入图片等)|12 种转换工具(小写金额转大写、汇率转换等)|7 款合并与分割工具(高级合并行、分割单元格等)|...更多精彩等你发现 |
用 Kutools for Excel 加速你的 Excel 技能,体验前所未有的高效办公。 Kutools for Excel 提供300 多项高级功能,助您提升效率,节省大量时间。点击此处,获取你最需要的功能...
Office Tab 为 Office 带来标签式界面,让你的工作更加轻松
- 在 Word、Excel、PowerPoint 启用标签式编辑和阅读
- 在同一窗口的新标签中打开和创建多个文档,无需新建窗口。
- 办公效率提升50%,每天帮你减少上百次鼠标点击!