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

求助:仅对单元格内的美元金额数值进行求和

提取单元格内美元金额求和方案

方法1:动态数组公式(Excel 365/2021适用)

直接用下面的公式提取所有带$的数值并求和,把A1替换成你的目标单元格即可:

=SUM(--TEXTBEFORE(TEXTAFTER(A1,"$",SEQUENCE(LEN(A1)-LEN(SUBSTITUTE(A1,"$","")))),", ",1))

公式逻辑:

  • 先统计单元格内$的总数,确定需要提取的数值数量
  • 逐个提取每个$后面的文本片段,截取到逗号前得到纯数字文本
  • 将文本格式的数字转为数值后求和

如果你的Excel版本不支持动态数组,使用这个数组公式(输入完成后按Ctrl+Shift+Enter确认):

=SUM(--MID(A1,FIND("$",A1,ROW(INDIRECT("1:"&LEN(A1))))+1,FIND(",",A1,FIND("$",A1,ROW(INDIRECT("1:"&LEN(A1)))))-FIND("$",A1,ROW(INDIRECT("1:"&LEN(A1))))-1))

方法2:自定义VBA函数

要是公式操作起来麻烦,写个简单的VBA函数更灵活:

  1. 按Alt+F11打开VBA编辑器
  2. 右键你的工作簿→插入→模块,粘贴以下代码:
Function SumDollars(rng As Range) As Double
    Dim txt As String, parts As Variant, i As Integer
    Dim num As Double
    txt = rng.Value
    parts = Split(txt, "$")
    For i = 1 To UBound(parts)
        num = num + Val(Split(parts(i), ",")(0))
    Next i
    SumDollars = num
End Function
  1. 返回Excel,在空白单元格输入=SumDollars(A1)就能得到求和结果

方法3:Power Query批量处理

如果需要处理多个单元格,用Power Query效率更高:

  1. 选中所有目标单元格→点击「数据」选项卡→「从表格/区域」(Excel会自动将选中区域转为表格)
  2. 在Power Query编辑器中,选中原数据列→「添加列」→「自定义列」,输入公式:
List.Sum(List.Transform(Text.Split([Column1],"$"), each if Text.Length(_)>0 then Value.FromText(Text.BeforeDelimiter(_,",")) else 0))
  1. 点击「关闭并上载」,求和结果会同步到Excel中

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 12:56:23