删除Microsoft Excel中破折号的6种方法
如果您想知道如何在 Excel 中删除破折号,那么您来对地方了。继续阅读以了解这里所有轻松的方法!
数据清洗和重构是数据分析不可或缺的两个部分。大多数情况下,你很难找到可以直接输入到数据可视化中的干净数据。
您必须重新构造数据以删除其中不需要的字符。其中一项任务是从 Excel 中的数字或其他数据中删除破折号。
在这个精心设计的 Excel 教程中,我向您介绍了适合不同大小的数据集和 Excel 专业水平的各种删除 Excel 中破折号的方法。
推荐:如何将Google Chrome浏览器重置为默认设置
删除 Excel 数据集中的破折号的原因
- 许多自动拨号应用程序都需要干净的电话号码,例如 5556664587。但是,从客户关系管理工具或第三方潜在客户提供商获取的潜在客户数据大多采用连字符分隔的格式,例如 555-666-4587。为了正确格式化软件的电话号码,您需要学习删除破折号的技巧。
- 如果数字中有破折号,则在将公式应用于这些值时可能会遇到问题。
- 当您在 Excel 工作表中对值进行排序和筛选时,破折号可能会扭曲结果。
- 如果您的 Excel 文件中有破折号,那么当您需要将 Excel 数据集合并到外部数据库时,您可能会遇到挑战。
- 当您的 Excel 数据分析过度依赖数据验证规则时,破折号和连字符可能会触发错误的验证错误。
- 图表数据中不必要的破折号会在很大程度上降低可视化的可读性。
- 您可能还希望删除 Excel 数据集中的破折号,以使整个工作表中的数据集保持一致。
- 黑客利用显示 SSN 的独特虚线格式来攻击企业的 SSN 数据库。因此,企业通常会从客户的 SSN 数据库中删除这些虚线,使其看起来不像是 SSN 数据库。
如何使用“快速填充”删除 Excel 中的破折号
在 Excel 中删除数字或文本之间的破折号的最简单方法之一是使用 快速填充 方法。但是,破折号的位置在整个数据集中必须保持一致,以便 快速填充 功能可以正常工作。下面是您可以按照自己的数据集执行的步骤:
- 在与源数据列相邻的单元格中手动输入不带破折号的数字。
- 现在,在保持第一个单元格处于选中状态的同时,按下 Ctrl + 埃 键盘上的键。
- Excel 会立即将选定单元格下方的其余虚线数字转换为非虚线数字。
上述方法仅适用于 Excel 2013 及更高版本的桌面版以及 Excel 2016 及更高版本的 Mac 应用程序。
推荐:如何将Firefox浏览器重置为初始设置
如何使用函数删除 Excel 中的破折号
从数字或文本字符串列表中删除破折号的另一种直观方法是使用 代替 函数。其工作原理如下:
- 假设你有一列电话号码,中间有破折号 B栏。
- 选择
C2
并在单元格中输入以下公式:
=SUBSTITUTE(B2,"-","")
- 打 进入 获取无破折号的电话号码
C2
。
- 现在,将填充柄拖到列的末尾,以相同的方式格式化剩余的电话号码。
这 代替 该功能自 Excel 2007 起在 Excel PC 应用程序中可用,自 Excel for Mac 2011 起在 Excel Mac 应用程序中可用,并且还可用于 Excel for Web 应用程序。因此,如果您无法使用 快速填充 技术,你一定可以使用 代替 功能。
推荐:如何从Windows远程控制Linux
删除第 n 个破折号
假设您不想删除电话号码列表中的所有破折号,而只想删除第二个破折号。您可以按照以下步骤操作:
- 不要输入上面的公式,而是输入以下内容
C2
:
=SUBSTITUTE(B2,"-","",2)
- 打 进入 Excel 将从电话号码中删除第二个破折号。
同样,根据您的数据集编辑公式。例如,如果数字中有五个破折号,而您需要删除第三个破折号,则公式如下:
=SUBSTITUTE(B2,"-","",3)
使用 Power Query 去除 Excel 中的破折号
Power Query 是一款出色的工具,可在导入工作表之前轻松转换和清理数据。因此,您还可以轻松从 Power Query 中的数字和文本字符串中删除破折号。
使用替换值删除破折号
- 将数据集导入到 Power Query 工具可从外部源或另一个 Excel 工作表或 Excel 文件获取。
- 选择包含虚线数字的列,例如电话号码。
- 右键点击 在柱子上。
- 点击 替换值 在上下文菜单中。
如果您是 Power Query 工具的新手,请阅读本文以了解您需要知道的一切,包括如何将外部或内部数据库导入 Power Query:
现在,你应该看到 替换值向导 在您的屏幕上。从这里开始,请按照以下步骤操作:
- 进入 寻找价值 字段,输入 a 短跑 或者 连字符。
- 保持 用。。。来代替 字段为空。
- 点击 好的 应用更改。
- Power Query 将立即从电话号码列中删除所有破折号。
当此数据转换过程完成后,请执行以下操作将干净的数据集导入到 Excel 工作表中
- 点击 文件 菜单上的 Power Query 功能区。
- 选择 关闭并加载至 选项。
- 在 导入数据 对话框中,单击 现有工作表 选择。
- 另外,突出显示数据导入的目标单元格。
- 点击 好的 完成从Power Query到Excel的数据导入过程。
上图显示了从 Power Query 最终导入的值。
推荐:如何删除Mac中Safari 的浏览历史记录
使用 Text.Select 函数删除破折号
您需要使用 文本.选择 在 Power Query 中的自定义列中使用函数来删除 Excel 中数字或文本字符串中的破折号。操作方法如下:
- 将您的数据集加载到 Power Query 无论是来自外部还是内部来源。
- 点击 添加列 标签。
- 在里面 一般的 阻止,点击 自定义列。
- 在 自定义列 对话框中,输入名称 新列名 场地。
- 复制并粘贴以下公式到 自定义列公式 场地:
Text.Select([Phone],{"0".."9"}))
- 点击 好的 添加带有数字(不带破折号)的新列。
现在,您可以按照以下步骤将此列导入到工作表中 关闭并加载至 方法前面已经解释过。
导入 Excel 工作表后,自定义列将如上图所示。
在自定义列的公式中,修改部分 [Phone]
根据源数据集的列标题。
使用 VBA 脚本去除 Excel 中的破折号
如果你正在寻找从 Excel 中的 SSN 或电话号码或任何其他数据中删除破折号的方法,你可以使用 Excel VBA 使流程自动化。对于数千个条目也是如此。下面是您必须使用的步骤以及脚本:
- 按 Alt + F11 调用 Excel VBA 编辑器 工具。
- 点击 插入 工具栏上的菜单。
- 选择 模块 从上下文菜单中。
- 现在,将以下脚本复制并粘贴到空白模块中:
Sub RemoveDashes()
Dim rng As Range
Dim cell As Range
Dim newData As String
Set rng = Range("B2:B6")
For Each cell In rng
newData = Replace(cell.Value, "-", "")
cell.Offset(0, 1).Value = newData
Next cell
Range("C2:C6").AutoFill Destination:=Range("C2:C6"), Type:=xlFillDefault
Columns("C:C").EntireColumn.AutoFit
End Sub
- 点击 节省 按钮。
- 点击 关闭(X) 按钮退出 VBA 编辑器。
现在,您必须运行代码。请按照以下说明操作:
- 提出 宏 对话框,按 Alt + F8。
- 选择 移除破折号 宏。
- 打 跑步 按钮执行 VBA 宏。
- Excel 将自动删除破折号并将结果填充为 C 栏。
您可以通过以下方式修改 VBA 脚本,使其在您的工作表中运行:
B2:B6
是源数据范围,因此请根据您的数据集进行修改。C2:C6
是删除破折号后的值的目标。因此,替换单元格区域的所有实例C2:C6
根据您想要的目标单元格范围。- 如果您的目标列不同于 C 栏,你还需要改变
Columns("C:C"
) 部分代码。假设目的地是 D 列, 然后Columns("C:C")
应编辑为Columns("D:D")
。
推荐:Elementor高级插件Premium Addons PRO
如何使用 Office 脚本删除 Excel 中的破折号
Excel VBA 不适用于 Excel for the web 应用。因此,如果您希望在 Excel online 中自动从数千行数字和字符串中删除破折号,您可以使用 办公室脚本。好消息是该功能也适用于 Excel 桌面应用程序。操作方法如下:
- 点击 自动化 选项卡上的 Excel 功能区。
- 选择 新脚本 按钮里面 脚本工具 堵塞。
- 复制并粘贴以下脚本 代码编辑器 面板上。
function main(workbook: ExcelScript.Workbook) {
let selectedSheet = workbook.getActiveWorksheet();
// Set range C2 on selectedSheet
selectedSheet.getRange("C2").setFormulaLocal("=SUBSTITUTE(B2,\"-\",\"\")");
// Auto fill range
selectedSheet.getRange("C2").autoFill("C2:C7", ExcelScript.AutoFillType.fillDefault);
}
- 点击 保存脚本 按钮。
- 现在,点击 跑步 按钮。
- Excel 自动化 将从选定源中删除所有破折号,并在 C 栏。
修改上述 Office Scripts 代码确实毫不费力。操作方法如下:
- 代替
B2
使用工作表中第一个源数据的单元格地址。 - 代替
C2
与转换值的第一个目标单元格相同。 - 如果你正在申请 自动填充 行动来自
D2
到D100
, 这C2:C7
代码元素将成为D2:D100
。
第一个脚本是 代替 函数,我在文章开头讨论过。下面是另一个基于 快速填充 方法:
function main(workbook: ExcelScript.Workbook) {
let selectedSheet = workbook.getActiveWorksheet();
// Set range C2 on selectedSheet
selectedSheet.getRange("C2").setValue("8956587458");
// Flash fill on selectedSheet
selectedSheet.getRange("C2").flashFill();
}
如何删除 Excel 中的虚线
Excel 中出现虚线的原因如下:
- 有人添加虚线作为单元格边框。
- 您点击了 页面布局 标签 页面设置 命令块。
- 您激活了 分页预览 和 页面布局 按钮 工作簿视图 的 看法 标签。
出于第二和第三个原因,您必须保存 Excel 工作簿。然后关闭它。再次打开工作簿,您应该不会再看到虚线了。
对于虚线的第一个原因,请遵循以下步骤:
- 选择显示单元格选择区域周围虚线的整个表或数据集。
- 点击 边界 下拉菜单中的 字体 块的 家 标签。
- 选择 无边界 从上下文菜单中。
结论
所以,现在您知道如何使用各种方法(如公式、设置单元格格式工具、Power Query 工具、Excel VBA 和 Office 脚本)删除 Excel 中的破折号。
根据数据集的大小和复杂程度,您可以从上面列出的技术中选择一种特定的方法。当数据集较小且您不想使用脚本时,您可以坚持使用函数或 格式化单元格 工具。
相反,如果你要导入包含数千个破折号的大型数据集,请删除这些破折号 Power Query,用于从外部数据库将原始数据注入 Excel 的工具。
最后,如果您对 Excel 中的一些编码不感兴趣,并且需要自动化整个过程,请使用 Excel VBA 和 办公室脚本的方法。
不要忘记在下面发表评论来分享您的经验和您最喜欢的方法。