跳至主要内容

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

如何在 Excel 中查找和替换星号 / 问号 / 波浪号?

Author Xiaoyang Last modified

在处理大型数据集或维护 Excel 模板时,您可能会遇到某些特殊字符(例如星号 (*)、问号 (?) 或波浪号 (~))出现在您的数据中的情况。这些字符通常在 Excel 的搜索操作和公式中充当通配符或命令符号,这可能会导致问题,尤其是当您只是想搜索该字符本身时。例如,从其他系统导出的数据或用户输入可能包含这些符号,作为文件名、产品代码或描述性文本的一部分。

尝试通过直接在 Excel 的“查找和替换”对话框中键入这些特殊字符来进行查找和替换,并不总能得到预期的结果。这是因为 Excel 将“*”和“?”解释为通配符——“*”匹配任意字符序列,“?”匹配单个字符。而波浪号“~”用作转义字符,表示其后的字符应按字面意义处理。如果您直接使用这些字符进行搜索,可能会无意中更改比预期更多的数据。

在本文中,我们将详细说明如何快速准确地在 Excel 中查找和替换星号、问号或波浪号,并介绍几种适用于各种工作场景的灵活解决方案。

在 Excel 中查找和替换星号 / 问号 / 波浪号

Excel 公式:使用 SUBSTITUTE 函数替换特殊字符

VBA 宏:通过代码查找和替换特殊字符


在 Excel 中查找和替换星号 / 问号 / 波浪号

要查找并替换工作表中特定的字符——无论它们出现在开头、结尾还是其他文本中间——需要在“查找内容”框中为这些字符添加波浪号 (~) 前缀。这会告诉 Excel 查找实际的字符,而不是将其解释为通配符或特殊命令。这种方法非常适合用于数据清理或格式化任务,但如果需要自动化或重复处理大型数据区域,可能会有局限性。

1. 选择要查找和替换特殊字符的单元格区域。如果要搜索整个工作表,可以在执行下一步之前单击任意单元格;否则,选择相关区域以限制替换范围。

2. 转到“开始”选项卡,点击“查找和选择” > “替换”,或者使用快捷键 Ctrl + H 打开“查找和替换”对话框。如果处理大型数据集,使用快捷键可以节省时间并减少重复点击。

a screenshot showing how to open the Find and Replace dialog box

3. 在“查找和替换”对话框中,如果要搜索星号,请在“查找内容”框中输入 ~*,对于问号输入 ~?,对于波浪号输入 ~~。在“替换为”框中,键入要用作替换的值或字符。这样您可以将这些特殊字符替换为文本、数字,或者通过留空来简单删除它们,具体取决于您的需求。

a screenshot of specifying the Find what and Replace with boxes

4. 点击“全部替换”按钮执行操作。Excel 将返回一个确认对话框,显示进行了多少次替换。仔细检查数据中的结果,确保操作仅影响了目标单元格。

a screenshot of the original data a screenshot of arrow a screenshot showing the results after replacing

5. 最后,在确认更改后关闭“查找和替换”对话框。

注意:在同一范围内替换多种特殊字符时,您需要对每个字符重复该过程。对于包含公式的单元格,替换部分公式文本可能导致错误。始终考虑在执行大规模替换之前备份工作表,以避免数据丢失或意外结果。

提示:如果要搜索字面上的波浪号,请在“查找内容”字段中使用 ~~。要替换问号,请输入 ~?。这允许您即使在复杂的文本字符串或产品代码中也能精确控制要更改的内容。

优点:此内置功能简单有效,适合不需要自动化或高级逻辑的快速替换。

局限性:每次替换操作必须手动执行,不太适合跨多个工作表或文件的重复替换。

故障排除:如果发现没有找到匹配项,请再次检查是否正确在“查找内容”框中的特殊字符前添加了波浪号 (~)。为避免影响公式,您可能希望过滤数据,仅针对特定列或文本单元格,而不是包含整个工作表。


Excel 公式:使用 SUBSTITUTE 函数替换特殊字符

如果您更喜欢基于公式的方法,Excel 的 SUBSTITUTE 函数提供了一种动态方式,可以直接在工作表单元格内替换字符。如果希望保留原始数据并在单独的列中显示清理或更新后的文本,此方法特别有用。它适用于可能需要撤销或审查更改的情况,并且易于适应包含数百或数千个项目的列表或表格处理。

1. 假设您需要替换 A 列值中的星号 "*"。在目标单元格(如 B1)中输入以下公式:

=SUBSTITUTE(A1,"*","replacement")

此公式将 A1 单元格中的每个星号替换为文本“replacement”。您可以将“replacement”替换为任何文本、数字,或者留空("") 以简单删除星号。

2. 按 Enter 键确认公式。要将公式应用到其他行,请选择单元格 B1,复制 (Ctrl+C),然后选择要复制公式的范围并粘贴 (Ctrl+V)。Excel 会自动调整引用,使每一行都处理 A 列中的值。

3. 要替换问号 "?" 或波浪号 "~",请使用类似的公式。例如:

=SUBSTITUTE(A1,"?","replacement")
=SUBSTITUTE(A1,"~","replacement")

您可以组合多个 SUBSTITUTE 函数以满足更复杂的替换需求,例如从文本中同时删除“*”和“?”:

=SUBSTITUTE(SUBSTITUTE(A1,"*",""),"?","")

这将一个 SUBSTITUTE 嵌套在另一个中,以便一次性移除这两个符号。

优点:公式解决方案会在源数据更改时自动更新,支持并排比较,并且适合重复使用。

局限性:结果与原始数据分离;如果需要覆盖原始值,则需要将结果复制并粘贴为值。

故障排除:SUBSTITUTE 函数仅适用于纯值。如果数据包含公式、数组公式或需要区分大小写的替换,则可能需要额外的步骤或辅助列。如果字符未按预期替换,请确认它们是标准字符,而不是来自其他语言或系统编码的相似符号。


VBA 宏:通过代码查找和替换特殊字符

如果您经常需要在多个工作表或大型数据集中查找和替换星号 (*)、问号 (?) 或波浪号 (~),使用自定义 VBA 宏来自动化该过程非常高效。此方法非常适合批量操作和重复任务,提供的灵活性远超手动或基于公式的方法。宏可以定制为在所有单元格、特定列、跨多个工作簿,甚至仅在选定的工作表中进行替换。

1. 首先,在 Excel 中启用“开发工具”选项卡(如果尚未显示),然后点击“开发工具” > “Visual Basic”打开 VBA 编辑器。在 VBA 窗口中,点击“插入” > “模块”,并将以下代码粘贴到模块中:

Sub ReplaceSpecialCharacters()
    Dim ws As Worksheet
    Dim rng As Range
    Dim oldChar As String
    Dim newChar As String
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    Set rng = Application.Selection
    Set rng = Application.InputBox("Select range to process", xTitleId, rng.Address, Type:=8)
    
    oldChar = Application.InputBox("Enter the character to replace (*, ?, or ~)", xTitleId, "", Type:=2)
    newChar = Application.InputBox("Enter the new character or value", xTitleId, "", Type:=2)
    
    For Each cell In rng
        If Not IsEmpty(cell.Value) And VarType(cell.Value) = vbString Then
            cell.Value = Replace(cell.Value, oldChar, newChar)
        End If
    Next cell
End Sub

2要运行宏,请点击 Run button (运行) 按钮,同时光标位于宏内部。将出现一个提示,要求您选择要处理的范围,然后指定要替换的字符(根据需要输入 * 或 ? 或 ~,无需引号),最后输入替换值或字符。宏将根据所选范围逐个处理每个单元格。

优点:VBA 自动化非常适合处理大量数据、跨工作表操作或嵌入更复杂的数据处理工作流程。它为重复性或大批量替换任务节省了时间。

局限性:代码直接更改原始单元格值,因此在运行宏之前请使用备份或制作副本。用户应仔细检查数据范围和替换参数,因为 VBA 执行后没有内置的撤消功能。宏要求用户在 Excel 中启用宏功能,并且在具有严格安全设置的工作环境中可能会受到限制。

故障排除:如果在运行宏时遇到错误,请验证是否已启用宏并且目标单元格没有工作表保护。仅输入要替换的字符——不要在输入框中使用通配符或转义序列。如果宏未进行替换,请检查范围选择是否包括您打算修改的单元格。


相关文章:

如何在文本框中查找和替换特定文本?

如何在 Excel 的图表标题中查找和替换文本?

如何在 Excel 中一次更改多个超链接路径?


最佳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天全功能试用——无需注册,无需信用卡
  • 超高性价比——比单独购买更实惠