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

Excel 2019中对带短横线分隔符的单元格数字求和的公式或VBA方法

方案1:Excel内置公式实现

适用Excel 365/2021及以上版本

假设存储目标文本的单元格为A1,直接输入以下公式即可得到求和结果:
=SUM(--TEXTSPLIT(A1,"-"))
公式逻辑:先用TEXTSPLIT按照分隔符-将文本拆分为独立的数值文本段,通过双减号将文本格式的数值转换为可计算的数字类型,最后用SUM函数完成求和。你的示例输入计算后将直接返回12.9。

适用Excel 2013及以上版本(无TEXTSPLIT函数的场景)

可以用FILTERXML实现相同效果,公式如下:
=SUM(FILTERXML("<t><s>"&SUBSTITUTE(A1,"-","</s><s>")&"</s></t>","//s"))

方案2:VBA自定义函数实现(全Excel版本兼容)

如果需要兼容更低版本Excel,或者需要高频复用该能力,可以自定义函数:

  • 按Alt+F11打开VBA编辑器,点击顶部「插入」→「模块」
  • 在代码编辑窗口粘贴以下代码:
Function SumSeparateNums(rng As Range, Optional sep As String = "-") As Double
    Dim numArr As Variant
    Dim i As Long
    numArr = Split(rng.Value, sep)
    For i = LBound(numArr) To UBound(numArr)
        SumSeparateNums = SumSeparateNums + Val(numArr(i))
    Next i
End Function
  • 关闭VBA编辑器返回表格,在空白单元格输入=SumSeparateNums(A1)即可得到结果。如果后续需要处理其他分隔符的内容,只需传入第二个参数即可,比如分隔符为逗号时使用=SumSeparateNums(A1,",")。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 03:18:03