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

Excel for Mac:如何求和同一单元格内换行分隔的括号内数值

同一单元格内换行分隔的括号数值求和方案

针对你Excel for Mac 16.16.27版本的情况,之前的高版本公式不兼容,给你两个可行方案:

方案1:VBA自定义函数(稳定可靠)

旧版Excel对复杂文本处理支持有限,VBA是最稳妥的选择:

  • 打开Excel,按Option + F11打开VBA编辑器
  • 点击菜单栏「插入」→「模块」,粘贴以下代码:
Function SumInBrackets(rng As Range) As Double
    Dim str As String, arr() As String, i As Integer
    Dim num As Double, tempStr As String
    str = rng.Value
    arr = Split(str, vbLf) '按换行拆分单元格内容
    For i = LBound(arr) To UBound(arr)
        tempStr = arr(i)
        '提取每行括号里的内容
        If InStr(tempStr, "(") > 0 And InStr(tempStr, ")") > InStr(tempStr, "(") Then
            tempStr = Mid(tempStr, InStr(tempStr, "(") + 1, InStr(tempStr, ")") - InStr(tempStr, "(") - 1)
            If IsNumeric(tempStr) Then num = num + CDbl(tempStr)
        End If
    Next i
    SumInBrackets = num
End Function
  • 把文件存为「Excel启用宏的工作簿(.xlsm)」格式
  • 在空白单元格输入=SumInBrackets(A1)(把A1换成你的目标单元格),回车就能得到求和结果

方案2:嵌套公式(无需宏)

如果不想启用宏,用这个适配旧版的公式(目标单元格设为A1):

=SUMPRODUCT(--MID(SUBSTITUTE(SUBSTITUTE(A1,"(",REPT(" ",LEN(A1))),")",REPT(" ",LEN(A1))),ROW(INDIRECT("1:"&LEN(A1)))*LEN(A1)-LEN(A1)+1,LEN(A1)))

原理是把括号替换成足够长的空格,提取所有括号包裹的区域再转成数值求和,非数字的括号内容会自动忽略。输入后直接回车就行,不用按数组快捷键。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 12:05:17