我如何对单元格的部分内容进行求和?

我如何对单元格的部分内容进行求和?

假设我有一个如下所示的电子表格。

A |B
----------------
1 |1.0 2016-05-07
2 |0.5 2016-04-12
3 |x.y yyyy-MM-dd

我如何才能将这些第一个值相加(1.00.5)?

答案1

您可以使用如下数组公式:

=SUMPRODUCT(1*LEFT(A1:A3,FIND(" ",A1,1)-1))
其中 A1:A3 是数据列,数字和日期之间始终有一个空格,公式会找到第一个空格并读取左侧的数字,并使用 Ctrl + Shift + Enter 而不是数组公式中的“Enter”,sumproduct 会将数字相加。
如果您的数据并非始终以数字开头,您可以使用:
=SUMPRODUCT(IF(ISNUMBER(VALUE(LEFT(A1:A3,FIND(" ",A1,1)-1))),1*LEFT(A1:A3,FIND(" ",A1,1)-1),0))

答案2

编辑 - 我的错误 - 您可以使用基本的 Excel 函数来完成 - 查看答案!

这是使用 VBA 模块和自定义公共函数的另一种方法

在 VBA 代码中插入此

Public Function SumLeftData(rgeData As Range) As Double

    Dim celVal  As Object

    For Each celVal In rgeData.Cells
        SumLeftData = SumLeftData + Left(celVal, 3)
    Next

End Function

举个例子,你可以在单元格 C3 中(或其他位置)插入公式,=SumLeftData(B1:B3)

笔记

确保它在 Module1 中 - 而不是在工作簿代码中

如何在 MS Office 中添加 VBA?

相关内容