还有SUMIFS做不到的? FILTER+SUM函数实现excel数据多条件求和的技巧
FILTER函数在Excel或WPS表格中是一个超级智能筛子,下面我们通过一个简单的案例理解它的强大之处。
如下图所示:
A1:D10区域是各部门员工的签单金额表,另外每一单有一个状态,提示这一单是否完成客户金额付款。
我们要做的就是:将符合曙光部且每单金额大于3000的,且排除订单已退款状态下的部门总金额统计出来。也就是要符合3个条件汇总总金额,即多条件求和。

FILTER函数的定义与功能:
FILTER函数是Excel和WPS表格工具中的一种动态数组函数,核心功能是根据指定条件从数据区域中筛选出符合条件的记录。
FILTER函数语法为:
=FILTER(数组, 条件, [无结果时的返回值])
- 数组:需要筛选的数据区域。
- 条件:逻辑表达式。
无结果时的返回值(可选):当无匹配数据时显示的内容。
第一步:增加第一个条件,筛选部门“曙光部”
输入函数公式:
=FILTER(C2:C10,A2:A10=F2)
FILTER函数筛选C2:C10区域的金额数据。那么我们筛选C2:C10区域内的哪些金额数据呢?我们这样执行筛选,当条件区域A2:A10单元格区域内的部门与F2单元格部门相同时,我们才会筛选C2:C10区域内与之对应的行数据,数组溢出返回结果:
{7300;3500;6870;2470}

第二步:增加第二个条件,在上一步基础上筛选金额大于3000的
输入函数公式:
=FILTER(C2:C10,(A2:A10=F2)*(C2:C10>3000))
在条件1(A2:A10=F2)的基础上用乘号连接条件2(C2:C10>3000),即当C2:C10区域内的金额大于3000时,再上一步的筛选基础上再次执行筛选C2:C10区域内与之对应的行数据,数组溢出返回结果:
{7300;3500;6870}

第三步:增加第三个条件,在上两步基础上筛选排除已退款状态的
我们输入函数公式:
=FILTER(C2:C10,(A2:A10=F2)*(C2:C10>3000)*(D2:D10<>"已退款"))
在条件1(A2:A10=F2)与条件2(C2:C10>3000)的基础上用乘号连接条件3(D2:D10<>"已退款"),即当D2:D10区域内标注的文字不等于“已退款”时,再在上两步的筛选基础上执行筛选C2:C10区域内与之对应的行数据,数组溢出结果:
{7300;6870}

第四步:求和
最后用SUM函数进行筛选结果求和就行了:
=SUM(FILTER(C2:C10,(A2:A10=F2)*(C2:C10>3000)*(D2:D10<>"已退款")))
由于SUM函数天然支持数组参数,无论参数是静态数组(如 {1,2,3})、单元格区域引用,还是动态数组公式生成的溢出结果,都可以进行求和。
比如今天这个例子中就是FILTER函数返回的数组溢出结果{7300;6870},SUM函数对其进行求和的。

但是SUMIF函数就无能为力了:
=SUMIF(D2:D10,"<>已退款",FILTER(C2:C10,(A2:A10=F2)*(C2:C10>3000)*(D2:D10<>"已退款")))
比如我们在前两个条件的筛选基础上,用SUMIF函数嵌套第3个条件。原则上SUMIF函数的第一参数D2:D10为第3个条件区域,第二参数增加对条件区域满足"<>已退款"的第3个条件,然后执行对FILTER筛选结果的条件求和。但是回车结束公式时提示公式错误,无法完成。
这就是因为SUMIF函数的第3个参数是实际进行求和的单元格区域或引用,它不支持直接使用数组。每次调用SUMIF函数时,第3参数求和区域只能指向一个具体的单元格区域或引用,而不能是一个数组。如果需要处理数组溢出的结果,比如本例中的FILTER函数数组溢出结果,就必须使用其他函数或方法来实现了。

推荐阅读:
excel中怎么使用filter函数 Excel函数FILTER的三种实用技巧
90%的人不知道的偷懒公式! VLOOKUP+FILTER数据筛选实现双杀
相关文章
excel数据透视表想要进行逆透视,该怎么操作呢?比如office可以pq工具,wps用什么实现呢?我们今天介绍一个函数不管office或者wps都可以使用2025-06-23
FILTER函数这招我后悔没早学! excel中10秒搞定数据查询的技巧
之前说到查找函数,大家肯定会想到vlookup,不过现在还有一个新的函数可以供大家使用,它就是filter,今天就和大家分享一下filter的用法2025-06-23
Excel如何实现多条件筛选? 1个函数都不用也能搞定Excel多条件判断
Excel数据进行多条件判断的时候,一般都用if函数,如果不用函数能实现多条件判断吗?下面我们就来看看详细教程2025-06-19
让你轻松掌握表格数据查询! 10个excel函数VLOOKUP的应用实例
Vlookup函数的用法之前我们也发了很多,但贴近工作用的Vlookup函数应用示例却很少,今天给大家带来一期Vlookup函数示例大全,希望能给大家的工作带来帮助2025-06-19
Excel中只有COUNT函数怎么做统计? Excel统计函数实用指南
有一份员工信息表,需要统计员工性别的数量,Excel中怎么做标新立异的统计呢?我们可以使用COUNT函数大显身手,详细请看下文介绍2025-06-04
80%的职场人都不知道! excel中SUMIF函数五种另类求和方法
在Excel中,大家经常使用sumif函数,除了正常的用法,sumif还有四种另类的求和方法,详细请看下文介绍2025-06-02
具有扫描功能的超级函数! excel中函数SCAN新使用指南
SCAN在office excel中是一个超冷门的函数,但它却是一个自带扫描功能的超级函数,该怎么使用呢?下面我们就来看看详细教程2025-05-30
你需要哪个? 12个excel函数公式教您学会按条件求多列数据之和
按条件求和,工作中很常见,如果是根据条件求单列数据之和,SUMIF函数即可解决,但如果是求多列数据呢?我们这里分享12种方法,各有各的特色2025-05-01
Excel中求和函数有哪些? 11个求和公式带你玩转职场赶紧收藏!
Excel作为一款强大的电子表格软件,其求和计算功能无疑是最为常用和重要的,无论是简单的数值累加,还是复杂的条件求和,Excel都提供了丰富的函数来满足我们的需求,下面我2025-04-30
Excel中有一个功能非常强大的函数,它就是SUMPRODUCT函数,既能求和、计数、权重计算,还能排名等,今天我们就来看看Excel根据权重求和的技巧2025-04-10



最新评论