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

Excel单元格中方括号内数值的求和实现需求

Excel单元格中方括号内数值的求和实现需求

嘿,我来帮你解决这个Excel单元格里提取方括号内数字求和的问题!针对你给出的示例内容,这里有两种实用方法可以实现:

方法一:使用Excel公式(无需VBA)

直接在目标单元格输入以下公式:

注意:旧版Excel需要按 Ctrl+Shift+Enter 以数组形式输入,新版Excel直接回车即可生效

=SUMPRODUCT(--TEXT(MID(A1,SEARCH("[[",SUBSTITUTE(A1,"[","[[",ROW(INDIRECT("1:"&LEN(A1)-LEN(SUBSTITUTE(A1,"[","")))))+1,SEARCH("]",A1,SEARCH("[[",SUBSTITUTE(A1,"[","[[",ROW(INDIRECT("1:"&LEN(A1)-LEN(SUBSTITUTE(A1,"[",""))))))-SEARCH("[[",SUBSTITUTE(A1,"[","[[",ROW(INDIRECT("1:"&LEN(A1)-LEN(SUBSTITUTE(A1,"[","")))))-1),"0;;0;0"))

公式原理拆解

  • 先通过 LEN(A1)-LEN(SUBSTITUTE(A1,"[","")) 统计单元格内左方括号 [ 的总数,确定需要提取的数字组数
  • 利用 SUBSTITUTE 和 ROW 函数逐个定位每个左方括号的位置
  • 用 MID 函数截取每个 [ 和 ] 之间的文本内容,再通过 TEXT 和 -- 转换为可计算的数值
  • 最后用 SUMPRODUCT 函数将所有提取到的数值累加求和

方法二:使用VBA自定义函数(更便捷高效)

如果需要频繁处理这类需求,自定义函数会更直观好用:

  1. 打开你的Excel文件,按下 Alt+F11 打开VBA编辑器
  2. 右键点击左侧面板中的工作簿名称,选择「插入」→「模块」
  3. 在弹出的代码编辑窗口中粘贴以下代码:
Function SumInBrackets(cell As Range) As Double
    Dim regex As Object
    Dim matches As Object
    Dim match As Object
    Dim total As Double
    
    Set regex = CreateObject("VBScript.RegExp")
    regex.Global = True
    regex.Pattern = "\[(\d+)\]" ' 精准匹配所有「[数字]」格式的内容
    
    Set matches = regex.Execute(cell.Value)
    total = 0
    For Each match In matches
        total = total + CDbl(match.SubMatches(0))
    Next match
    
    SumInBrackets = total
End Function
  1. 回到Excel界面,在需要显示结果的单元格中输入 =SumInBrackets(A1)(把A1替换成你要处理的目标单元格),回车就能得到求和结果!

自定义函数说明

这个函数借助正则表达式,可以精准识别单元格内所有方括号包裹的数字,不管这些方括号在文本中的什么位置,都能逐个提取并累加求和,操作起来比公式更省心。

备注:内容来源于stack exchange,提问作者TEJASKUMAR BHAJIWALA

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.22 12:58:15