sumproduct函数举例:Excel SUMPRODUCT函数详解与实用案例,轻松搞定多条件统计
在Excel的数据处理和分析中,我们经常需要根据多个条件来统计满足所有条件的数据记录,统计某个部门在特定日期之后的销售额,或者统计价格在某个区间且评价为“优秀”的产品数量,这时,Excel内置的SUMPRODUCT函数就是一个非常强大且灵活的工具。
SUMPRODUCT函数不像SUM或AVERAGE那样只处理单一条件,它能够同时处理多个数组或区域,并对满足所有指定条件的对应元素进行乘积运算,最后将所有乘积结果相加,其核心思想是:对多个条件进行判断后求和。
函数语法:
SUMPRODUCT(array1, [array2], ...)
array1: 必需,第一个数组或区域。array2: 可选,第二个数组或区域,可以包含多个数组或区域。
基本原理:
想象一下,SUMPRODUCT会将每个指定数组中对应位置的元素相乘,然后将所有这些乘积加起来,如果只提供一个数组,它就相当于SUM函数。

关键点:
- 条件判断:
SUMPRODUCT通常与逻辑表达式(如>,<, ,<>)或条件区域结合使用,这些逻辑表达式的结果通常是TRUE(视为1)或FALSE(视为0)。 - 隐式交集:
SUMPRODUCT会自动对多个数组进行“配对”,只有当所有数组中对应位置的元素都满足其条件(如果是逻辑测试的话)时,该位置的乘积才会被计算,这本身就实现了多条件的“与”逻辑。
举例说明:
下面通过几个例子来详细说明SUMPRODUCT的用法。
例1:统计满足单一条件的记录数

假设我们有一个简单的数据表,A列是产品名称,B列是产品类别,我们想统计“办公用品”类别的产品有多少个。
| A | B |
|---|---|
| 笔记本 | 办公用品 |
| 打印机 | 办公设备 |
| 计算器 | 办公用品 |
| 茶杯 | 办公用品 |
| 服务器 | IT设备 |
公式:=SUMPRODUCT(--(B2:B6="办公用品"))
- 解释:
(B2:B6="办公用品")会产生一个逻辑值的数组:{TRUE, FALSE, TRUE, TRUE, FALSE}。- 运算符将逻辑值转换为数字:
{1, 0, 1, 1, 0}。 SUMPRODUCT将这个数组中的所有元素相加,得到结果3。
例2:统计满足两个不同条件的记录数
我们想统计“办公用品”类别且单价低于50元的产品数量。(假设C列是单价)

| A | B | C |
|---|---|---|
| 笔记本 | 办公用品 | 30 |
| 打印机 | 办公设备 | 800 |
| 计算器 | 办公用品 | 45 |
| 茶杯 | 办公用品 | 20 |
| 服务器 | IT设备 | 5000 |
公式:=SUMPRODUCT(--(B2:B6="办公用品"), --(C2:C6<50))
- 解释:
(B2:B6="办公用品")得到{1, 0, 1, 1, 0}(C2:C6<50)得到{TRUE, FALSE, TRUE, TRUE, FALSE}(即{1, 0, 1, 1, 0})- 运算符将两个逻辑数组都转换为数字数组。
SUMPRODUCT将两个数组对应位置的元素相乘:{1*1, 0*0, 1*1, 1*1, 0*0}得到{1, 0, 1, 1, 0}- 然后将乘积相加:
1+0+1+1+0 = 3
例3:计算满足条件的数值总和
我们想计算“办公用品”类别且单价低于50元的产品的总单价。
公式:=SUMPRODUCT(--(B2:B6="办公用品"), --(C2:C6<50), C2:C6)
- 解释:
- 前两个条件与例2相同,得到两个逻辑数组转换后的数字数组
{1, 0, 1, 1, 0}。 C2:C6是单价数组{30, 800, 45, 20, 5000}。SUMPRODUCT将三个数组对应位置的元素相乘:{1*30, 0*800, 1*45, 1*20, 0*5000}得到{30, 0, 45, 20, 0}- 然后将乘积相加:
30+0+45+20+0 = 95
- 前两个条件与例2相同,得到两个逻辑数组转换后的数字数组
SUMPRODUCT函数是Excel中处理多条件统计、计数和求和的强大工具,它的优势在于:
- 简洁高效: 一个函数就能完成多个步骤的操作。
- 灵活性高: 可以轻松组合多个条件。
- 动态性好: 条件变化时,公式通常不需要大幅修改。
掌握SUMPRODUCT能让你在Excel数据处理中事半功倍,理解其原理和通过具体例子练习是掌握它的关键,如果你有特定的多条件统计需求,不妨试试SUMPRODUCT!
希望这篇文章能帮助你理解并运用SUMPRODUCT函数!
相关文章:
文章已关闭评论!










