跳至主要内容

Kutools for Office — 一套工具,五种功能。事半功倍。

如何快速从Excel单元格中删除破折号?

Author Xiaoyang Last modified
remove dashes from cells

在处理包含数字列表(如邮政编码、电话号码、ISBN或产品ID)的Excel电子表格时,经常会遇到带有嵌入式破折号(连字符)以用于格式化或可读性的值。然而,对于某些任务——例如导入数据库、运行分析或准备数据验证——你可能需要从这些字符串中删除所有破折号。高效地完成这项工作非常重要,尤其是在处理长列表或大型数据集时。幸运的是,Excel提供了几种实用的方法来消除单元格中的破折号。下面,你将找到每种解决方案的详细方法和适用场景,包括内置方法和专用工具。

使用公式删除单元格中的破折号
使用Kutools for Excel轻松删除单元格中的破折号

使用VBA代码删除单元格中的破折号
使用Excel的查找和替换功能删除破折号


使用公式删除单元格中的破折号

在Excel中使用SUBSTITUTE函数是一种直接去除单元格中所有破折号的方法。当您想要快速处理大量单元格且不想更改原始数据时,此方法特别有用。例如,如果您的列中包含像“123-45-6789”这样的数字,应用SUBSTITUTE可以输出一个去除了所有破折号的文本值。这种方法的一个重要好处是它保留了前导零,并避免将长数字转换为科学记数法,这在默认的Excel行为中经常发生。

1. 在与您的数据相邻的空白单元格中(例如,如果您的数据从A1开始,则为C1),输入以下公式:

=SUBSTITUTE(A1,"-","")

Remove dashes from cells with a formula

2. 输入公式后,按Enter键。该公式将删除A1单元格中的所有破折号。要将相同的逻辑应用于其余数据,请选择C1单元格,然后将光标移动到单元格右下角的填充柄上,并向下拖动以填充整个列。这将自动从A列中的每个相应单元格中删除破折号。请参见截图:

drag and fill the formula to other cells

对于大型数据集,您可以双击填充柄以自动填充范围至最后一个相邻值。如果您需要将结果单元格转换回常规值(而不是公式),只需复制输出单元格并使用“选择性粘贴 > 值”覆盖公式即可。此公式将一切视为文本,因此具有前导零或大量数字的数字不会丢失其格式。

注释及故障排除:SUBSTITUTE公式是非破坏性的,保持原始数据不变,这是理想的,当您希望同时保留格式化和非格式化的版本时。确保引用正确的列并在源数据不在A列时调整单元格引用。如果您的数据包含不止破折号——例如空格或其他符号——您可以嵌套多个SUBSTITUTE函数以删除其他不需要的字符。


使用Kutools for Excel删除单元格中的破折号

如果您觉得公式或VBA代码复杂或耗时,Kutools for Excel提供了一种直接且用户友好的解决方案。删除字符功能专为快速删除选定单元格中的特定字符(如破折号)而设计,只需几次点击即可完成。这对于Excel初学者、偶尔使用的用户或重视工作流效率和简便性的人尤其有帮助。另一个显著的优点是无需编写公式或记住语法。

Kutools for Excel 提供了超过 300 种高级功能,简化复杂任务,提升创造力与效率。 通过集成 AI 能力,Kutools 能够精准自动执行任务,让数据管理变得轻松简单。Kutools for Excel 的详细信息...         免费试用...

1. 首先选择要从中删除破折号的单元格范围。然后转到Kutools > 文本 > 删除字符。这将打开工具的对话窗口。请参见截图:

click Remove Characters feature of kutools

2. 在“删除字符”对话框中,选择“自定义”选项,并在文本框中输入破折号字符(“-”)。预览窗格将立即显示删除破折号后的结果。一旦满意,点击确定以立即清理所选单元格中的所有破折号。请参见截图:

type - character into the text box

注意:如果您的单元格包含前导零或长数字字符串(如ISBN代码或邮政编码),并且您希望避免将这些值转换为科学记数法或丢失前导零,则应在使用“删除字符”功能之前将目标单元格格式设置为文本。否则,Excel可能会自动将结果转换为科学格式或去掉前导零。为此,请右键单击单元格,选择“设置单元格格式”,并选择“文本”,如下图所示。

format the cells as Text in the Format Cells dialog box

这个Kutools功能高效处理大型数据集并减少手动工作,降低出错风险。处理后,您可以在预览窗格中查看结果后再应用更改,为您的工作流增加另一层信心和控制。

  如果您想免费试用(30天)此工具,请点击下载,然后按照上述步骤进行操作。


使用VBA代码删除单元格中的破折号

如果您熟悉宏,使用VBA代码提供了一种高度灵活的方式来从任何选定范围内删除破折号。此方法适用于批量处理和自动化重复任务,适合高级用户或处理定期更新数据集的用户。与公式一样,VBA默认会将清理后的值转换为文本格式,因此保留前导零和长数字。

1. 选择要删除破折号的单元格。

2. 按ALT + F11打开Microsoft Visual Basic for Applications编辑器窗口。

3. 点击插入 > 模块创建一个新的代码模块,并将以下代码粘贴到模块窗口中:

VBA:删除数字之间的破折号

Sub DeleteDashes()
'Update 20130907
Dim rng As Range
Dim WorkRng As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
For Each rng In WorkRng
    rng.NumberFormat = "@"
    rng.Value = VBA.Replace(rng.Value, "-", "")
Next
Application.ScreenUpdating = True
End Sub

4. 按F5运行代码。一个对话框将提示您选择要处理的范围。请参见截图:

vba code to select the data list

5. 点击确定,所有破折号将从选定的单元格中删除。输出值为文本,确保诸如邮政编码或ID等对格式敏感的数字保持其外观。请参见截图:

the dashes between the numbers are removed from the cells

使用此方法时,请记住宏会直接更改您的工作表。如果需要保留原始数据,请考虑事先保存文件或在备份上工作。如果在执行代码时收到宏安全警告,请在Excel中调整宏设置以允许脚本运行。这种方法特别适用于重复任务或批量清理不一致格式的数据。


使用Excel的查找和替换功能删除破折号

为了简单快捷的解决方案,您可以使用Excel内置的查找和替换功能。此方法适用于偶尔的任务或当您想直接就地修改内容而不用公式或插件时。然而,应该谨慎使用——特别是当您选定的范围内包含不想删除破折号的数据时。查找和替换将处理选定单元格内的所有破折号,因此在应用前请仔细检查您的选择。

1. 选择包含要删除破折号的单元格范围。如果要处理整个工作表,请在开始前单击任意单元格。

2. 按Ctrl + H打开查找和替换对话框。

3. 在“查找内容”字段中输入破折号字符(“-”)。保持“替换为”字段为空。

4. 单击全部替换以从选定范围内删除所有破折号。弹出一个对话框指示进行了多少次替换。单击确定确认,然后关闭对话窗口。您的单元格现在将不再有任何破折号。

此方法快速且适用于大多数简单场景。但是,如果您的数据包含公式或需要非破坏性解决方案,请考虑使用公式或Kutools选项。此外,记得仔细检查结果,因为查找和替换会影响您范围内所有匹配字符。


总之,选择最佳方法取决于您的具体需求:

  • 公式(SUBSTITUTE):最适合创建一个单独的动态列,其中数据不含破折号。如果您想保留原始信息不变,这很有用。
  • Kutools for Excel:非常适合希望获得高效、基于GUI的解决方案的用户,适用于大型数据集,无需编写公式或代码。
  • VBA宏:适合自动化大范围或频繁更新的破折号删除操作,适合高级用户或熟悉编码的用户。
  • 查找和替换:偶发手动编辑最快的选项,但缺乏预览功能,并在选定单元格内无差别影响所有匹配字符。

在删除破折号时,始终要考虑格式和前导零以避免意外的数据更改。如果出现意外结果,请检查隐藏字符或格式问题,并在删除或替换数据前确认您的选择。建议在进行批量更改前保存您的工作。

相关文章:


最佳Office办公效率工具

🤖 Kutools AI 助手:以智能执行为基础,彻底革新数据分析 |代码生成 |自定义公式创建|数据分析与图表生成 |调用Kutools函数……
热门功能:查找、选中项的背景色或标记重复项 | 删除空行 | 合并列或单元格且不丢失数据 | 四舍五入……
高级LOOKUP多条件VLookup|多值VLookup|多表查找|模糊查找……
高级下拉列表快速创建下拉列表 |依赖下拉列表 | 多选下拉列表……
列管理器添加指定数量的列 | 移动列 | 切换隐藏列的可见状态 | 比较区域与列……
特色功能网格聚焦 |设计视图 | 增强编辑栏 | 工作簿及工作表管理器 | 资源库(自动文本) | 日期提取 | 合并数据 | 加密/解密单元格 | 按名单发送电子邮件 | 超级筛选 | 特殊筛选(筛选粗体/倾斜/删除线等)……
15大工具集12项 文本工具添加文本删除特定字符等)|50+种 图表 类型甘特图等)|40+实用 公式基于生日计算年龄等)|19项 插入工具插入二维码从路径插入图片等)|12项 转换工具小写金额转大写汇率转换等)|7项 合并与分割工具高级合并行分割单元格等)| ……
Kutools支持多种语言——可选择英语、西班牙语、德语、法语、中文等40多种语言!

通过Kutools for Excel提升您的Excel技能,体验前所未有的高效办公。 Kutools for Excel提供300多项高级功能,助您提升效率并节省时间。 点击此处获取您最需要的功能……


Office Tab为Office带来多标签界面,让您的工作更加轻松

  • 支持在Word、Excel、PowerPoint中进行多标签编辑与阅读
  • 在同一个窗口的新标签页中打开和创建多个文档,而不是分多个窗口。
  • 可提升50%的工作效率,每天为您减少数百次鼠标点击!

所有Kutools加载项,一键安装

Kutools for Office套件包含Excel、Word、Outlook和PowerPoint的插件,以及Office Tab Pro,非常适合跨Office应用团队使用。

Excel Word Outlook Tabs PowerPoint
  • 全能套装——Excel、Word、Outlook和PowerPoint插件+Office Tab Pro
  • 单一安装包、单一授权——数分钟即可完成设置(支持MSI)
  • 协同更高效——提升Office应用间的整体工作效率
  • 30天全功能试用——无需注册,无需信用卡
  • 超高性价比——比单独购买更实惠