告别繁琐!1个SUMPRODUCT函数,竟是Excel中深藏不露的公式万金油

12333社保查询网www.sz12333.net.cn 2026-02-14来源:人力资源和社会保障局

  还在用SUMIFS做条件求和?用VLOOKUP查找到头疼?那你可能错过了Excel中一位真正的“全能选手”——SUMPRODUCT函数。

  它远不止于“乘积求和”,经过深度开发,已然进化成能单挑SUMIFS、COUNTIFS,甚至叫板LOOKUP/VLOOKUP的隐藏高手。今天,我们就来彻底扒开它的七层功力,全是硬核干货,看完让你直呼:以前那些公式,都白学了!

  第一层:理解本质,它为何是“万金油”?

  核心功能:返回多个数组中对应元素乘积之和。

  基础语法:=SUMPRODUCT(数组1, [数组2], ...)

  掌握它的三个核心特性,是玩转所有高级技巧的基石:

    维度一致:所有参与运算的数组必须具有相同的行、列数。智能处理:函数会自动将非数值型数组元素(如逻辑值、文本)视为0处理。这一特性是它能实现条件计算的关键。能力上限:最多支持255个数组参数,足以应对几乎所有办公场景。

  第二层至第七层:实战技法,一层比一层犀利

  第1层:本职工作——基础乘积求和

  场景:计算所有商品的总销售额(单价×数量)。

  公式:=SUMPRODUCT(B2:B10, C2:C10)

  干货点拨:这是最直接的用法。相比传统的=SUM(B2:B10*C2:C10)(需要按Ctrl+Shift+Enter三键),SUMPRODUCT无需数组运算键,更加简洁优雅。

  第2层:抢COUNTIF的活——单条件计数

  场景:统计员工列表中“女”性的人数。

  公式:=SUMPRODUCT(--(C2:C100="女"))

  核心干货:

(C2:C100="女")会生成一个由TRUE/FALSE组成的逻辑数组。SUMPRODUCT无法直接对逻辑值求和,因此需要用--(两个负号)、*1或+0将其转换为1/0数值数组。--是运算效率最高的转换方式。

  第3层:抢COUNTIFS的活——多条件计数

  场景:统计“销售部”且“绩效评分”大于90的员工人数。

  公式:=SUMPRODUCT((B2:B100="销售部")*(D2:D100>90))

  进阶干货:多个条件用乘号*连接,代表“且”的关系。每个条件表达式都会生成一个逻辑数组,相乘后自动转化为1/0数组,最后求和即为满足所有条件的记录数。它的强大之处在于,条件区域可以直接嵌套函数,例如(MONTH(日期列)=6),而COUNTIFS对此无能为力。

  第4层:抢SUMIF的活——单条件求和

  场景:计算“女”性员工的“总销售额”。

  公式:=SUMPRODUCT((C2:C100="女")*E2:E100)

  避坑指南:这里求和区域E2:E100是数值,与逻辑数组(C2:C100="女")相乘时,逻辑值会自动转为1/0,因此不需要再使用--进行转换。

  第5层:抢SUMIFS的活——多条件求和

  场景:计算“销售部”中“绩效>90”的员工“总销售额”。

  公式:=SUMPRODUCT((B2:B100="销售部")*(D2:D100>90)*E2:E100)

  终极杀招——动态时间段求和:

  假设要根据G1单元格的月份(如“6月”)来汇总销售额,SUMPRODUCT可以轻松实现:

  =SUMPRODUCT((MONTH(A2:A100)=6)*(B2:B100="产品A")*C2:C100)

  这里直接在参数中使用了MONTH函数处理日期列。如果用SUMIFS,你必须先创建辅助列提取月份,步骤繁琐得多。

  第6层:实现查找引用——挑战LOOKUP/VLOOKUP

  场景:根据“员工工号”和“项目编码”两个条件,查找对应的“工时”。

  公式:=SUMPRODUCT((A2:A100=G2)*(B2:B100=G3)*C2:C100)

  重要前提与区别:此方法要求两个条件能唯一确定一条记录。如果有多条匹配,SUMPRODUCT会将所有匹配值相加。

VS VLOOKUP:VLOOKUP只能返回第一个找到的值,且无法直接进行多列条件查找(需借助数组公式或其它函数)。VS LOOKUP:LOOKUP在未排序数据中可能返回错误结果。SUMPRODUCT优势:逻辑直观,无需考虑数据是否排序,直接进行多条件匹配。

  第7层:二维交叉查询——降维打击INDEX+MATCH

  场景:在一个二维表格中,根据首列的“姓名”和首行的“月份”,查找交汇点的“业绩”。

  公式:=SUMPRODUCT((A2:A11=F2)*(B1:D1=G2)*B2:D11)

  原理深度解析:

    (A2:A11=F2):生成一个11行1列的数组,匹配姓名的行显示TRUE。(B1:D1=G2):生成一个1行3列的数组,匹配月份的列显示TRUE。当这两个数组与数据区域B2:D11相乘时,Excel会进行数组扩张。只有同时满足行条件和列条件的那个单元格,其原始数值会被保留,其余所有位置的结果都变为0。最后对B2:D11这个矩阵求和,得到的就是唯一交汇点的值。 这种方法比=INDEX(B2:D11, MATCH(F2,A2:A11,0), MATCH(G2,B1:D1,0))更加直观,无需理解行列号索引的对应关系。

  思维跃迁:为什么SUMPRODUCT更强大?

  SUMIFS/COUNTIFS是“条件-区域”的固定范式,而SUMPRODUCT代表了一种开放的数组运算思维。你可以在它的参数里自由嵌套几乎任何函数:TEXT、LEFT、FIND、ISNUMBER……它为你提供了处理数据的无限可能。

  性能提示:作为数组函数,当处理数万行以上的庞大数据时,SUMPRODUCT的计算效率可能低于SUMIFS等原生条件函数。但对于日常办公的数千行数据,其性能完全足够,而灵活性无可比拟。

  下次当你手指习惯性地敲下SUMIFS时,不妨停下来想一想:用SUMPRODUCT,会不会更简单、更强大?

  三道题,测测你掌握了几成功力?

    想要计算区域A1:A10中所有正数的和,以下哪个SUMPRODUCT公式是正确的? A. =SUMPRODUCT(A1:A10>0) B. =SUMPRODUCT((A1:A10>0)*A1:A10) C. =SUMPRODUCT(A1:A10, A1:A10>0)如何用SUMPRODUCT统计区域B1:B20中,内容不为空的单元格数量? A. =SUMPRODUCT(--(B1:B20<>"")) B. =SUMPRODUCT((B1:B20)) C. =SUMPRODUCT(B1:B20, B1:B20)有一个3行3列的数据区域在B2:D4,首列A2:A4是产品名,首行B1:D1是季度。要用SUMPRODUCT查找“产品乙”在“Q3”的数值,公式应为? A. =SUMPRODUCT((A2:A4="产品乙")*(B1:D1="Q3"), B2:D4) B. =SUMPRODUCT((A2:A4="产品乙")*(B1:D1="Q3")*B2:D4) C. =SUMPRODUCT((A2:A4="产品乙"), (B1:D1="Q3"), B2:D4)

  答案:1. B; 2. A; 3. B

  (完)

本文标题:告别繁琐!1个SUMPRODUCT函数,竟是Excel中深藏不露的公式万金油本文网址:https://www.sz12333.net.cn/zhzx/zczx/68202.html 编辑:12333社保查询网

本站是社保查询公益性网站链接,数据来自各地人力资源和社会保障局,具体内容以官网为准。
定期更新查询链接数据 苏ICP备17010502号-11