在 Excel 中对数值求和,忽略文本

在 Excel 中对数值求和,忽略文本

如果我的细胞含有

  • 红色 4
  • 蓝色 3
  • 2
  • 1

我正在尝试对这些值求和,我可以使用什么公式来得出正确的总数,10。如果有帮助的话,该数字将始终小于 10 并且是最右边的字符。

答案1

如果始终只有 1 位数字,并且始终位于末尾:

=SUM(IFERROR(--RIGHT(A1:A4,1),0))

某些旧版本在确认公式时需要使用 Ctrl-Shift-Enter 而不是 Enter。

右拉最右边的字符,然后尝试--将其从字符串转换为数字,如果它不能变成数字,它将出错,并且 IFERROR 将捕获该错误并使其成为0。然后我们对整个数组求和。

在此处输入图片描述

答案2

您需要一个 VBA 函数来对某个单元格范围内的所有数字求和,即使同一个单元格中有多个数字。

该函数如下所示:

Function SumNumbers(rngS As Range, Optional strDelim As String = " ") As Double
    Dim xNums As Variant, lngNum As Long
    For Each elem In rngS
      xNums = Split(elem, strDelim)
      For lngNum = LBound(xNums) To UBound(xNums) Step 1
        SumNumbers = SumNumbers + Val(xNums(lngNum))
      Next lngNum
    Next elem
End Function

并可以通过如下公式来调用=SumNumbers(A5:B5)

在此处输入图片描述

要创建该函数,请将电子表格另存为.xlsm文件,键入Alt+F11打开 VBA 编辑器,右键单击“ThisWorkbook”,然后选择插入 > 模块,然后将上述文本复制粘贴到编辑器中。按Ctrl+S保存电子表格,然后按 Alt+Q关闭 VBA 编辑器并返回 Excel。

相关内容