Excel SUMPRODUCT 函数

2025年3月17日 | 阅读 8 分钟

在分析大量 Excel 数据时,您经常需要根据提供的条件计数单元格或在乘以数字后查找总和。Microsoft Excel 有一个特殊函数来实现这一点,**即 SUMPRODUCT 函数**,它是一个区分大小写的函数,用于比较两个字符串并返回布尔值 True 或 False。

在本教程中,我们将仔细研究 SUMPRODUCT 函数,并学习在其 Excel 工作表中应用此函数的步骤。

什么是 SUMPRODUCT 函数?

Excel SUMPRODUCT 函数返回数组中数字相乘后的总和,它还可以用于根据提供的条件计数单元格。此函数功能强大,与 COUNTIFS 或 SUMIFS 函数不同,但具有更高的灵活性,可用于计数和汇总数据。

您可以通过将此函数与 SUMPRODUCT 中的其他函数结合使用或在 SUMPRODUCT 中插入其他函数来轻松扩展此函数的功能。虽然 SUMPRODUCT 函数最初可能看起来更难、更复杂,甚至毫无意义。但此函数是一个用途极其广泛的函数。使用此函数的原因之一是它可以流畅地处理数组,并且您可以利用它以快速、优雅的方式处理单元格范围。此函数属于 Excel 数学函数类别。

语法

参数

Array1 (必需):此参数表示需要先乘以然后求和的单元格范围。

Array2 及其他..(可选):此参数表示要乘以然后求和的第二个数组(或更多数组)或范围。

返回

此函数返回数组中数字相乘后的总和。

注意事项

  1. SUMPRODUCT 函数会将指定数组中的所有非数字值视为零。
  2. 所有指定的 Array 参数的大小都必须相同,否则此函数将引发 #VALUE! 错误。
  3. 数组中的逻辑测试将创建 TRUE 和 FALSE 值。在大多数情况下,您需要将这些强制转换为 1 和 0。
  4. 您可以轻松地将其他函数合并到 SUMPRODUCT 中,以扩展公式的功能。
  5. SUMPRODUCT 可以直接利用其他 Excel 函数的输出。
  6. SUMPRODUCT 不支持通配符。

示例

示例 1:使用 SUMPRODUCT 函数计算超市的总成本。

项目易腐品?费用单位数量
I001£1.50100
I002£1.99150
I003£2.05200
I004£3.5050
I005£4.90400
I006£5.001,000

请按照以下步骤在您的 Excel 工作表中使用 SUMPRODUCT 函数

步骤 1:插入辅助行

在 Excel 表下方添加一个名为“总成本”的辅助行。

它将看起来与下图相似

Excel SUMPRODUCT Function

在辅助行中,我们将键入 SUMPRODUCT 函数并计算超市面临的成本。

注意:如上图所示,我们已通过边框和字体格式化了行,以使工作表更具视觉吸引力。

步骤 2:插入 SUMPRODUCT 公式

下一步是输入公式,所以将光标放在辅助列的第二行,开始输入:= SUMPRODUCT(

它将看起来与下图相似

Excel SUMPRODUCT Function

步骤 3:添加参数

  • 第一个参数包括“Array1”,表示需要先乘以然后求和的单元格范围。在这里,单元格范围 D4:D9 包含我们的 Array1。所以我们的公式变为:=SUMPRODUCT (D4:D9,

它将看起来与下图相似

Excel SUMPRODUCT Function
  • 第二个参数包括可选数组,但我们将仅包含一个代表要相乘然后求和的第二个数组或范围。在这里,单元格引用 C6 包含我们的 Text1。所以我们的公式变为:所以我们的公式变为:=SUMPRODUCT (D4:D9, E4: E9)

它将看起来与下图相似

Excel SUMPRODUCT Function

步骤 4:SUMPRODUCT 将返回结果

SUMPRODUCT (D4:D9, E4: E9) 将计算超市的总成本,并在*乘以数组中的数字*后返回总和值。

Excel SUMPRODUCT Function

它将看起来与下图相似

以上公式的解释

让我们用数学术语来理解 SUMPRODUCT 的工作机制

  • SUMPRODUCT 函数将取第一个指定数组的第一个元素,并将其乘以第二个数组的第一个元素。接下来,它取第一个数组的第二个元素,并将其乘以第二个数组的第二个元素,依此类推,直到达到最后一个数字。
  • 当所有数组数字相乘后,函数会将所有乘积相加,最终将其总和作为输出返回。

用数学术语来说,SUMPRODUCT 公式执行以下操作

试想一下,如果您的 Excel 工作簿包含数百甚至数千行,此函数该有多么重要!

示例 2:使用 SUMPRODUCT 函数计算易腐品项的总数及其成本。

项目易腐品?总成本
I001£150
I002£299
I003£410
I004£175
I005£1,960
I006£5,000

请按照以下步骤使用 Excel SUMPRODUCT 函数计算上述表中易腐品项的总数(其中易腐品 = 是)及其成本。

步骤 1:插入两个辅助行

在 Excel 表下方添加两个辅助行,一个名为“总易腐品项”,另一个名为“易腐品项成本”。

它将看起来与下图相似

Excel SUMPRODUCT Function
  • 在第一个辅助行中,我们将使用 SUMPRODUCT 函数来确定表中共有多少易腐品项。
  • 在第二个辅助行中,我们将键入 SUMPRODUCT 函数并计算易腐品项的成本。

注意:如上图所示,我们已通过边框和字体格式化了行,以使工作表更具视觉吸引力。

步骤 2:插入 SUMPRODUCT 公式以计算易腐品项的数量

  • 下一步是输入公式,所以将光标放在辅助列的第二行,开始输入:= SUMPRODUCT(
  • 第一个参数包括“Array1”,它表示需要相乘然后求和的单元格范围。在这里,范围从单元格地址 C5:C10 引用。由于我们只需要查找易腐品项,因此我们将它们与“YES”进行相等比较。

因此,我们的公式变为:=SUMPRODUCT(--(C5:C10="YES"))

Excel SUMPRODUCT Function

注意:在 Excel 中使用两个减号(--)可以将“TRUE”的值转换为 1,将“False”的值转换为 0。

  • SUMPRODUCT 函数将返回易腐品项的数量。请参阅下图
Excel SUMPRODUCT Function

步骤 3:插入第二个 SUMPRODUCT 公式以查找易腐品项的成本

  • 在第二个辅助行中输入 SUMPRODUCT 公式:= SUMPRODUCT(
  • 第一个参数包括“Array1”,它表示需要相乘然后求和的单元格范围。在这里,范围从单元格地址 C2:C10 引用。因此,我们的公式变为:=SUMPRODUCT(--(C4:C9="YES"),
  • 第二个参数包括可选数组,但我们将仅包含一个代表要相乘然后求和的第二个数组或范围。在这里,范围从单元格地址 D4:D9 引用。因此,我们的公式变为:=SUMPRODUCT(--(C4:C9="YES"),D4:D9)

它将看起来与下图相似

Excel SUMPRODUCT Function

步骤 4:SUMPRODUCT 将返回结果

SUMPRODUCT (--(C4:C9="YES"),D4:D9) 将计算易腐品项的成本,并在*乘以数组中的数字*后返回总和值。输出将是 2,669 美元。

请参考下图

Excel SUMPRODUCT Function

示例 3:使用 SUMPRODUCT 函数计算下表中产品(软玩具)的详细信息,并找出其全年收入。

乘积收入
软玩具200
软玩具400
创意玩具320

如上表所示,我们有两个名为软玩具的值,唯一的区别是一个是小写(soft toys),另一个是大写(SOFT TOYS)。但我们想要小写数据值“soft toys”。然而,还有其他 Excel 函数,如 VLOOKUP 和 INDEX/MATCH 可以查找给定值,但唯一的问题是它们不区分大小写。因此,我们将使用“SUMPRODUCT + EXACT”的组合来实现区分大小写的查找。

请按照以下步骤获取软玩具的产品详细信息和收入。

步骤 1:插入一个名为“软玩具收入”的辅助行

将光标放在产品表下方的任何位置,然后在单元格上方键入行名称“软玩具收入”。

它将看起来与下图相似

Excel SUMPRODUCT Function

在辅助列中,我们将键入 SUMPRODUCT + EXACT 函数的组合来查找收入详细信息。

步骤 2:插入 SUMPRODUCT 公式

  • 下一步是输入公式,所以将光标放在辅助列的第二行,开始输入:= SUMPRODUCT(

它将看起来与下图相似

Excel SUMPRODUCT Function

注意:Excel SUMPRODUCT 函数返回数组中数字相乘后的总和,它还可以用于根据提供的条件计数单元格。此函数以数组作为参数。

  • 在插入参数之前,请添加两个负号。我们使用双负号将输出的 TRUE 和 FALSE 值转换为 1 和 0。因此,我们的公式变为:=SUMPRODUCT(--(

请参考下图

Excel SUMPRODUCT Function

步骤 3:将 EXACT 函数插入为 SUMPRODUCT 的第一个参数

  • 在第一个参数中,我们将键入 EXACT 函数。因此,我们的公式变为:=SUMPRODUCT(--(EXACT(
  • 接下来,我们将传递 EXACT 的参数。在第一个参数中,我们将传递您要检查的字符串。在这里,单元格引用 B4 包含我们的 Text1。因此,我们的公式变为:=SUMPRODUCT(--(EXACT(B5,
  • 在下一个参数中,我们将传递您要进行比较的产品名称。因此,我们的公式变为:=SUMPRODUCT(--(EXACT(B5, B4:B6)

它将看起来与下图相似

Excel SUMPRODUCT Function

步骤 4:插入 SUMPRODUCT 的第二个参数

将收入范围作为 SUMPRODUCT 的第二个参数插入。在这里,单元格范围 C4:C6 包含收入范围。因此,我们的公式变为:=SUMPRODUCT(--(EXACT(B5,B4:B6)),C4:C6)。

它将看起来与下图相似

Excel SUMPRODUCT Function

步骤 5:Excel SUMPRODUCT 和 EXCAT 函数的组合将返回结果

EXACT 函数将在对 B 列中的值进行测试后返回公式的输出,将 TRUE/FALSE(EXACT 函数的输出)转换为 1 和 0。如下图所示,通过结合使用 SUMPRODUCT 和 EXACT,您将获得“soft toys”产品的收入。

它将看起来与下图相似

Excel SUMPRODUCT Function

大功告成!您现在已成功涵盖了 SUMPRODUCT 函数的所有步骤和示例。请随时使用它,只要您需要进行任何比较,将其与其他函数结合使用并获取满意的结果。