参考资料
- 万能函数SUMPRODUCT超实用的10种经典用法
目录
- 一. SUM
- 二. SUMIF
- 2.1 统计贾1的销售额
- 2.2 > 900 的销售总额
- 2.3 计算贾1和贾22的销售总额
- 2.4 多区域计算
- 三. SUMIFS
- 3.1 统计苹果,在第一季度的总数量
- 3.2 统计苹果,在第一季度,> 600 的总数量
- 四. SUMPRODUCT
- 4.1 基础用法,乘积求和
- 4.2 根据每个商品的数量和单价,计算行政部使用各商品总计
- 4.3 数值和文本混合求和
- 4.4 模糊条件求和
一. SUM
⏹对一列或一组单元格中的数字进行求和。
基本语法
=SUM(number1, [number2], ...)
✅统计所有产品的总数量
=SUM(C2:C13)
二. SUMIF
⏹按照特定条件对范围内
的单元格进行求和的函数。
基本语法
=SUMIF(条件区域, 指定的条件, 需要求和的区域)
2.1 统计贾1的销售额
=SUMIF(A1:A12,"贾1",C1:C12)
2.2 > 900 的销售总额
=SUMIF(C4:C15,">900")
2.3 计算贾1和贾22的销售总额
=SUM(SUMIF(A1:A12,{"贾1","贾22"},C1:C12))
- 注意: 必须在最外层包裹
SUM函数
,否则会仅计算贾1的销售总额。
2.4 多区域计算
=SUMIF(B2:F12,C15,C2:G12)
- 进行多重数据区域的计算时,要求,这两个区域的格式要一致。
三. SUMIFS
⏹满足多个条件的情况下对范围内的单元格进行求和的函数
=SUMIFS(求和区域, 条件区域1, 条件表达式1, 条件区域2, 条件表达式2, ...);
3.1 统计苹果,在第一季度的总数量
=SUMIFS(C2:C13,A2:A13,F5,B2:B13,G5)
C2:C13
: 求和区域,表示要合计的数量A2:A13,F5
: 表示区域和该区域所对应的条件
3.2 统计苹果,在第一季度,> 600 的总数量
=SUMIFS(C2:C13,A2:A13,F4,B2:B13,G4,C2:C13,">" &H4)
四. SUMPRODUCT
⏹主要用于对数组中对应元素的乘积求和
=SUMPRODUCT(array1, [array2], [array3], ...)
⏹例
商品名称 | 领取部门 | 领取时间 | 数量 | 单价 |
---|---|---|---|---|
中性笔 | 行政部 | 6月 | 20 | 3.7 |
起钉器 | 财务部 | 6月 | 5 | 9.2 |
笔芯 | 行政部 | 3月 | 60 | 9.8 |
传真纸 | 行政部 | 6月 | 10 | 21.7 |
尺子 | 财务部 | 3月 | 5 | 1.9 |
铅笔 | 财务部 | 3月 | 20 | 1.9 |
橡皮 | 财务部 | 3月 | 5 | 0.8 |
裁纸刀 | 财务部 | 6月 | 4 | 5.3 |
夹子 | 行政部 | 6月 | 16 | 3.9 |
4.1 基础用法,乘积求和
=SUMPRODUCT(D2:D10,E2:E10)
- 相当于是 数量*单价,然后求总计的简单写法
4.2 根据每个商品的数量和单价,计算行政部使用各商品总计
=SUMPRODUCT((B2:B10=G7)*(D2:D10)*(E2:E10))
(B2:B10=G7)
表示过滤出行政部(D2:D10)*(E2:E10)
表示行政部的数量 * 单价
=SUMPRODUCT((B2:B10=G7)*(C2:C10=H7)*(D2:D10)*(E2:E10))
- 计算6月份行政部的总计花销
4.3 数值和文本混合求和
- 因为E列的单价带着
元
这个汉子,因此E列为文本,无法直接参与计算。 --SUBSTITUTE(E2:E10,"元","")
,使用此函数将元
替换为空,然后通过--
将单元格内容转换为数字=SUMPRODUCT((D2:D10)*(--SUBSTITUTE(E2:E10,"元","")))
4.4 模糊条件求和
⏹根据每个商品的数量和单价,计算笔
销量的总和
=SUMPRODUCT(ISNUMBER(FIND("笔",A2:A10))*(D2:D10)*(E2:E10))
- 由于SUMPRODUCT函数的参数中不支持使用通配符,所以在计算带有关键字的问题,在这里需要截取ISNUMBER解决关键字的问题,首先使用FIND函数在B4:B12数据区域中查找关键字
笔
,如果包含关键字笔
,就返回表示关键字位置的数值,否则就返回错误值。 - 然后使用ISNUMBER函数判断
FIND函数
的数组结果是不是数值,如果是数值,说明是包含关键字的,如果不是数值,那就是不包含关键字了。ISNUMBER最终得到由逻辑值TRUE或FALSE构成的内存数组。 - 然后再与后面的区域C4:C12和区域D4:D12依次相乘,最后由SUMPRODUCT返回乘积之和。