SUMIF函数另类用法,还能这么玩?

职场   2024-11-15 23:33   江苏  

SUMIF函数你会吗?我想大部分人应该都可以回答OK的,因为基本都用过,但是SUMIF远比你想象的要强大,今天SUMIF函数最后压轴!


直接来看第一个问题。

每个人的测试都以最后一次为准,现在要统计总分,如何处理?


我们先来聊聊常规思路:

如果你是基础选手,那么应该想到先添加一列,把每个人的最后一次求出再求和!

▍新手解法


那么,用什么函数可以统计最后一次呢?

比较简单的,可以使用LOOKUP函数处理,算是一个通用的套路!

=LOOKUP(1,1/(B2:E2<>""),B2:E2)



再求和应该就不用说了,直接SUM函数即可!


有同学说LOOKUP函数我不熟,有没有更简单的方法?


其实使用简单的IF函数+MAX函数也可以,这里用的是错位的思路,这个思路很重要。

=MAX(IF(B2:F2="",A2:E2))




说完新手解法,我们来看看进阶的一些处理方法!


▍进阶解法


新版本更新后,我们有了很多新增的数组函数,解决这类问题,非常轻松,比如从后往前提取数据,我们可以使用TAKE函数,删除空白单元格,可以使用TOROW第三参数,配合起来!


如果我们想直接得到结果,有办法吗?


直接使用BYROW函数,字面意思,逐行处理,也就是把辅助列搬到了公式内部处理!其中的x就表示每次循环的当前行!


=SUM(BYROW(B2:E9,LAMBDA(x,TAKE(TOROW(x,3),,-1))))


不管是辅助列,还是上面的解法,多多少少都有点麻烦,其实问题非常简单,一个SUMIF函数即可搞定,压轴来了!


▍SUMIF压轴


对没错,就是下面这么简单!

=SUMIF(B2:F9,"",A2)


这里用的还是我们上面提到的错位的思维!SUMIF函数会把第一参数满足条件的对应的第三参数部分相加!


下面这张图就是上面的核心逻辑,SUMIF的判断条件是空,条件区域和求和区域是错开一列的,求和区域是从A列开始,条件区域从B列开始,但是要保证两个区域大小一致!



SUMIF的第三参数会根据单元格参数的大小自动扩展,如果我们只写一个起始单元格!


更多函数教程,可以参考今天的次条推文,上百个函数,一次学透!


Excel办公实战
分享Excel及WPS函数、技巧、VBA、PBI、JSA等办公技能。助你轻松实现办公自动化!易办公◎早下班!
 最新文章