夜雨聆风学习资料网

ARTICLE · 1356307

Excel小技巧:「查找替换 + 通配符」,一秒批量改掉一万个单元格

Excel小技巧:「查找替换 + 通配符」,一秒批量改掉一万个单元格

周一早上,领导甩来一张 15000 行的销售报表,只说了两句话:

“把表中所有’(上海)‘换成’(华东大区)'。另外名字后面凡是带括号的标注,整个删掉。”

你打算怎么做?一格一格点?15000 行点到明天。写公式?SUBSTITUTE 套三层,粘成值还得把辅助列删掉,来回30分钟。

其实这两件事用「查找替换 + 通配符」都是几秒钟解决。但 Excel 的通配符能力比 Word 弱很多,很多人栽在不知道它的边界——本文就是把这个边界讲清楚。

一、先认识对话框:Ctrl + H

  • Ctrl + H
    :替换。Ctrl + F 是查找,同一个面板切 “替换” 选项卡
  • 开始 → 编辑 → 替换
    :入口一样
  • 点面板右下角的 「选项 >>」,多出来的几项才是关键:
设置
作用
范围:工作表 / 工作簿
选"工作簿"会波及所有 Sheet,包括隐藏表和模板表
搜索:按行 / 按列
只决定在选区里的扫描顺序,跟"范围"是两回事
查找范围:公式 / 值 / 批注
决定匹配的是单元格里的公式文本,还是显示结果
区分大小写
默认不勾,勾了才区分 A 与 a
单元格匹配
勾了要求整格内容等于查找串,不做包含匹配

想批量改公式里的文本,就把"查找范围"切成公式;想改显示的字,用值。这一格没选对,替换直接空跑。

二、通配符只有四个

勾选范围之后,Excel 查找框里真正可用的通配符只有 * ? # ~:

符号
含义
举例
?
任意单个字符
张?
 匹配"张三"“张四”,不匹配"张三丰"
*
任意长度字符串,可为空
*有限公司
 匹配所有以它结尾的内容
#
任意单个数字 0-9
房号##
 匹配"房号01"“房号23”
~
 + 符号
把 * ? # 当字面量搜
~*
 查找真正的星号,~~ 查找波浪号

再强调一遍:没有[abc] 字符类、没有<词首、词尾>、没有{n,m} 次数、没有正则表达式。同事问"能不能把三个字符的编码全部换成四个字符"——答案是不能,用公式或 VBA。

三、3个真实任务

任务一:把(上海)换成(华东大区)

  1. 选中 A2:A12000
  2. Ctrl + H
  3. 查找内容:(上海),替换为:(华东大区)
  4. 全部替换

这里不需要通配符,写 *(上海)* 反而多余。0.3 秒结束。

任务二:删掉行尾括号里的标注

单元格形如"甲公司(北京)“,要变成"甲公司”:

  • 查找内容:(*),替换为留空,全部替换

⚠️ 注意,* 是贪婪匹配,它会从第一个 ( 一路吞到该行最后一个)。所以:

  • 一格只有一组括号 → 安全
  • “A公司(北京)B部(杭州)” → (*) 把"(北京)B部(杭州)“整段干掉,只剩"A公司”

多组括号的情况 Excel 搞不定,见第五节的 VBA 写法。

任务三:批量改公式里的引用

15000 个公式都写着 =VLOOKUP(A2,'上海'!$A:$C,3,0),要换成 '华东':

  • 查找范围切成 公式
  • 查找:'上海'!,替换:'华东'!

如果只是想重命名整张表,别用替换——右键 Sheet 标签 → 重命名,所有引用会自动跟着更新,这才是不破坏链接的正路。

四、边界与常见翻车

1)"替换为"里不支持通配符。 替换框里的 * ? # ~ 一律当普通字面量插入。Word 能用 ^& 把匹配到的内容回填,Excel 不行。想保留原值只加前缀/后缀,用 & 拼接:

="客户-"&A2

2)通配符只能命中"文本"。 单元格里是数字 1234、是日期,# 和 * 都不认。先把数字转成文本列(=A2&"" 或 =TEXT(A2,"0000")),再替换。

3)范围 = 工作簿 是大杀器。 你以为只动了当前表,其实隐藏 Sheet 里的参数、模板里的示例数据一起被改了。批量替换前先另存一份副本,Ctrl+Z 只给你一次撤销机会,别连环操作。

4)单元格匹配 + * 会吞整格。 勾了"单元格匹配"后,(*) 的命中范围就变成"内容恰好是一组括号"的格子本身,而不是里面那段字。想只清括号内容,这个勾必须取消。

5)别用查找替换改受保护的内容。 如果工作表加了保护(第023期),替换会静默失败,先取消保护再动手。

五、把通配符带进函数,才真的值钱

替换框只解决"一次性批量改字"。想把它变成分析工具:

  • COUNTIF / COUNTIFS / SUMIF / SUMIFS
    :条件里直接写通配符,且默认启用
    =SUMIFS(金额列,客户列,"*有限公司")
  • VLOOKUP / MATCH(匹配类型 0)
    :查找值支持 * ?
  • XLOOKUP
    :match_mode 填 2 即启用通配符匹配
  • FIND / SEARCH
    :不支持通配符,* 会被当字面量。想找包含某关键词的行,用 COUNTIF 做条件格式的公式:
    =COUNTIF($A2,"*逾期*")>0
    而不是 ISNUMBER(SEARCH("*逾期*",A2))——后者命中不了。
  • 高级筛选
    条件区里通配符可用;自动筛选的"包含"只当文本处理

顺带一个搭配:Ctrl + G → 定位条件 → 常量 / 公式 / 空值,配合前期所学的空白处理,比查找替换更适合"整列批量清理"。

今天的总结

关于 Excel 通配符,记这三句:

  1. 只有 * ? # ~ 四个,没有字符类、< >、正则。
  2. 替换框里通配符是字面量,不做回填;数字和日期命中不了,先转文本。
  3. 贪婪的 * 加上"范围=工作簿"是最容易出事故的两处,动手前先备份副本、先在几个格子里试。

把这几条想清楚,"批量改名、挑含关键词的行、改公式引用路径"这类活就真变成三秒的事。


——E晓分享,共同进步——

回首页,搜索你想要的文档

在首页搜索框输入关键词,快速定位资料

文库首页搜索指引 立即搜索

相关学习资料