跳至主要内容

Excel SUMPRODUCT 函数

Author: Xiaoyang Last Modified: 2025-07-31

在 Excel 中,SUMPRODUCT 函数可以用来将两列或多列或数组相乘,然后得到乘积的总和。实际上,SUMPRODUCT 是一个非常有用的函数,它可以帮助根据多个条件来计数或求和单元格值,类似于 COUNTIFS 或 SUMIFS 函数。本文将介绍该函数的语法以及一些关于 SUMPRODUCT 函数的示例。

show the usage of SUMPRODUCT function


 语法:

Excel 中 SUMPRODUCT 函数的语法为:

=SUMPRODUCT (array1, [array2], ...)

 参数:

  • array1: 必需。您要相乘并随后相加的第一个数组或单元格区域。
  • array2: 可选。您要相乘并随后相加的第二个数组或单元格区域。

注意事项:

  • 1. 如果您的范围内有非数值数据,SUMPRODUCT 会将其视为零。
  • 2. 如果数组或范围的行数和列数不同,SUMPRODUCT 函数将返回 #VALUE! 错误。
  • 3. 如果数组中存在逻辑测试,它们将生成 TRUE 和 FALSE 值。在大多数情况下,您需要通过使用双负号运算符(--)将它们转换为 1 和 0。
  • 4. 在 Excel 2007 及更高版本中,SUMPRODUCT 函数最多可以处理 255 个参数,而在早期版本的 Excel 中只能处理 30 个参数。
  • 5. SUMPRODUCT 不支持通配符字符。

 返回值:

返回相乘并求和后的数组结果。


 示例:

示例 1:SUMPRODUCT 函数的基本用法

SUMPRODUCT 的基本用途是先将两列相乘,然后再将它们加起来。例如,您有以下截图中的数据,现在您想将订单数量与单价相乘,然后将所有相乘的结果加在一起以获得总价。

show the usage of SUMPRODUCT function

要完成此任务,请应用以下公式:

=SUMPRODUCT(B2:B7,C2:C7)

解释:这个公式 SUMPRODUCT(B2:B7,C2:C7) = B2*C2+B3*C3+B4*C4+B5*C5+B6*C6+B7*C7

然后按下 Enter 键,B 列中的单元格将与其所在行 C 列中的对应单元格相乘,并且结果会被加起来。请参见截图:

show the usage of SUMPRODUCT function


示例 2:使用 SUMPRODUCT 函数对具有多个条件的单元格求和

除了使用 SUMIFS 函数根据多个条件对单元格值求和外,SUMPRODUCT 函数也可以快速轻松地解决这个问题。


案例 1:如果另一列包含特定文本,则对单元格值求和

假设,您有一个如下截图所示的数据表,现在您想计算产品为 KTE 且名称为 David 的总价,如何在 Excel 中使用 SUMPRODUCT 公式实现呢?

show the usage of SUMPRODUCT function

1. 请在空白单元格中输入或复制以下任意一个公式:

=SUMPRODUCT(--(A2:A12="KTE"), --(B2:B12="David"), D2:D12)
=SUMPRODUCT((A2:A12="KTE")*(B2:B12="David")*D2:D12)
  • 提示:在上述公式中:
  • A2:A12="KTE": 是您希望基于的第一个条件范围和条件。
  • B2:B12="David": 是您希望基于的第二个条件范围和条件。
  • D2:D12: 是您希望求和的单元格范围。

2. 然后,按下 Enter 键即可获得所需的结果:

show the usage of SUMPRODUCT function


案例 2:使用 OR 逻辑对具有多个条件的单元格求和

要基于多个条件使用 OR 逻辑对单元格求和,您应该使用加号符号 (+) 将多个条件连接到 SUMPRODUCT 函数中。

例如,我想在 A 列中计算产品 KTE 和 KTO 的总价,如下截图所示:

show the usage of SUMPRODUCT function

请在空白单元格中应用以下公式:

=SUMPRODUCT((A2:A12="KTE")+(A2:A12="KTO"), C2:C12)

然后按下 Enter 键,产品 KTE 和 KTO 的总价已经被计算出来了,请参见截图:

show the usage of SUMPRODUCT function


案例 3:使用 OR 和 AND 逻辑对具有多个条件的单元格求和

在某些情况下,您可能需要同时使用 OR 和 AND 逻辑对单元格求和。SUMPRODUCE 函数也可以轻松解决这个问题。

星号 (*) 用作 AND 运算符。

加号符号 (+) 用作 OR 运算符。

让我们看一个例子,计算产品为 KTE 和 KTO 且销售量大于 200 的总价。

show the usage of SUMPRODUCT function

您应该复制或输入以下公式:

=SUMPRODUCT((B2:B12>200)*((A2:A12="KTE")+(A2:A12="KTO"))*C2:C12)

然后按下 Enter 键即可获得所需的结果:

show the usage of SUMPRODUCT function


示例 3:使用 SUMPRODUCT 函数对具有多个条件的单元格进行计数

通常,SUMPRODUCT 函数还可以帮助我们在 Excel 中对具有多个条件的单元格进行计数。与求和值一样,您只需从公式中删除 sum_range 参数即可。


案例 1:使用 AND 逻辑对具有多个条件的单元格进行计数

在这里,我想计算产品为 KTE 且销售量大于 200 的单元格数量。因此,请使用以下任意一个公式:

=SUMPRODUCT(--(A2:A12="KTE"), --(B2:B12>200))
=SUMPRODUCT((A2:A12="KTE")*(B2:B12>200))
  • 提示:在上述公式中:
  • A2:A12="KTE": 是您希望基于的第一个条件范围和条件。
  • B2:B12>200: 是您希望基于的第二个条件范围和条件。

然后,按下 Enter 键即可获得结果的数量:

show the usage of SUMPRODUCT function


案例 2:使用 OR 逻辑对具有多个条件的单元格进行计数

为了统计 A 列中产品 KTE 和 KTO 的数量,请应用此公式:

=SUMPRODUCT((A2:A12="KTE")+(A2:A12="KTO"))

然后按下 Enter 键即可获得产品 KTE 和 KTO 的数量。请参见截图:

show the usage of SUMPRODUCT function


案例 3:使用 OR 和 AND 逻辑对具有多个条件的单元格进行计数

为了统计销售量大于 200 的产品 KTE 和 KTO 的数量,您应该应用以下公式:

=SUMPRODUCT((B2:B12>200)*((A2:A12="KTE")+(A2:A12="KTO")))

然后,按下 Enter 键即可获得所需的结果数量:

show the usage of SUMPRODUCT function


示例 4:使用 SUMPRODUCT 函数计算加权平均值

通常,我们可以快速轻松地计算出一系列单元格的平均值。但是,如果您想计算一组具有不同相关性水平的值的平均值,这意味着要计算加权平均值。在 Excel 中没有直接获取它的函数。但 SUMPRODUCT 函数可以帮助您处理它。

例如,我有一个学生的成绩统计表,每个任务都有不同的权重,如下截图所示。

show the usage of SUMPRODUCT function

要计算加权平均值,请使用以下公式:

=SUMPRODUCT(B2:B6, C2:C6) / SUM(C2:C6)

解释:这个公式: SUMPRODUCT(B2:B6, C2:C6) / SUM(C2:C6) = (B2*C2+B3*C3+B4*C4+B5*C5+B6*C6)/(C2+C3+C4+C5+C6)

然后按下 Enter 键,加权平均值立即被计算出来,请参见截图:

show the usage of SUMPRODUCT function


 更多关于 SUMPRODUCT 函数的文章:

  • 跨多个工作表统计特定值的数量
  • 假设,我有多个包含以下数据的工作表,现在我想从这些工作表中获取特定值“Excel”的出现次数。如何跨多个工作表统计特定值的数量?
  • 在 Excel 中计算加权平均值
  • 例如,您有一个购物清单,其中包含价格、重量和数量。您可以使用 Excel 中的 AVERAGE 函数轻松计算平均价格。但如果要计算加权平均价格呢?在本文中,我将介绍一种方法来计算加权平均值,以及一种在 Excel 中满足特定条件时计算加权平均值的方法。

最佳的办公生产力工具

Kutools for Excel - 助您脱颖而出

🤖 Kutools AI 助手:基于智能执行革新数据分析:智能执行   |  生成代码  |  创建自定义公式  |  分析数据并生成图表  |  调用 Kutools 函数
热门功能查找、高亮或标记重复项  |  删除空行  |  合并列或单元格而不丢失数据  |  无需公式四舍五入 ...
超级 VLookup多条件  |  多值  |  跨多表  |  模糊查找...
高级下拉列表简易下拉列表  |  级联下拉列表  |  多选下拉列表...
列管理器添加指定数量的列  |  移动列  |  切换隐藏列的可见状态  比较列以 选择相同和不同单元格 ...
特色功能网格聚焦  |  设计视图  |  增强编辑栏  |  工作簿与工作表管理器 | 资源库(自动文本)  |  日期提取  |  合并工作表  |  加密/解密单元格  |  按列表发送电子邮件  |  超级筛选  |  特殊筛选(筛选粗体/斜体/删除线...) ...
排名前 15 的工具集12 个文本工具添加文本删除特定字符 ...)  |  50+ 种图表 类型甘特图 ...)  |  40+ 实用 公式基于生日计算年龄 ...)  |  19 个插入工具插入二维码从路径插入图片 ...)  |  12 个转换工具小写金额转大写汇率转换 ...)  |  7 个合并和拆分工具高级合并行拆分 Excel 单元格 ...)  |  ... 更多功能
使用您偏好的语言来操作 Kutools - 支持英语、西班牙语、德语、法语、中文等 40 多种语言!

Kutools for Excel 拥有超过 300 项功能,确保您所需的一切都仅需一键之遥...


Office Tab - 在 Microsoft Office(包括 Excel)中启用标签式阅读和编辑

  • 一秒内在数十个打开的文档之间切换!
  • 每天为您减少数百次鼠标点击,告别鼠标手。
  • 在查看和编辑多个文档时,您的生产力可提升 50%。
  • 为 Office(包括 Excel)带来高效标签页,就像 Chrome、Edge 和 Firefox 一样。