You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel中基于同工作表参考列表,用*通配符批量替换列内容

Excel批量通配符查找替换(基于D/E列规则列表)

SUBSTITUTE函数确实不支持通配符模式匹配,要实现基于D、E列参考列表的批量通配符替换,最可靠的方案是用VBA宏,以下是具体步骤和代码:

步骤1:编写VBA宏

  1. 打开Excel文件,按Alt+F11打开VBA编辑器
  2. 在左侧项目窗口右键点击你的工作簿,选择「插入」→「模块」
  3. 将以下代码粘贴到模块窗口中:
Sub BatchWildcardReplace()
    Dim ws As Worksheet
    Dim lastRowA As Long, lastRowDE As Long
    Dim i As Long, j As Long
    Dim searchPattern As String, replaceVal As String
    
    ' 指定目标工作表(可替换为具体表名,如Sheet1)
    Set ws = ActiveSheet
    
    ' 获取数据区域的最后一行
    lastRowA = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
    lastRowDE = ws.Cells(ws.Rows.Count, "D").End(xlUp).Row
    
    ' 遍历A列需要处理的每一行
    For i = 2 To lastRowA ' 假设第1行是表头,从第2行开始处理
        ' 遍历D/E列的每一条替换规则
        For j = 2 To lastRowDE
            searchPattern = ws.Cells(j, "D").Value
            replaceVal = ws.Cells(j, "E").Value
            
            ' 执行通配符替换:MatchWildcards:=True启用通配符匹配
            ws.Cells(i, "A").Replace What:=searchPattern, Replacement:=replaceVal, _
                LookAt:=xlPart, MatchCase:=False, MatchWildcards:=True
        Next j
    Next i
    
    MsgBox "批量替换完成!"
End Sub

步骤2:配置替换规则

在工作表的D、E列按如下格式设置规则:

  • D列:输入带通配符的查找模式(比如你例子中的lbs*)
  • E列:输入对应的替换值(比如你例子中的lbs.)

关键参数说明

  • MatchWildcards:=True:启用Excel通配符支持,*匹配任意长度的任意字符,?匹配单个任意字符
  • LookAt:=xlPart:匹配单元格内任意位置的内容(如果需要匹配整个单元格,改成xlWhole)
  • MatchCase:=False:不区分大小写(需要区分的话改成True)

运行宏

回到Excel界面,按Alt+F8,选择BatchWildcardReplace,点击「执行」即可完成批量替换。

⚠️ 注意:运行宏前建议先备份数据,避免因规则设置错误导致数据丢失。

内容的提问来源于stack exchange,提问作者Noisy Chief

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 09:35:07