分享

关于SUMIF函数的另类用法

 互利互读一辈子 2023-09-12

如下图中所示,是一份体育测试成绩表,每位同学都有四次跳高的机会,要求用公式计算出四位同学最后一次跳高成绩的平均值。

图片

最后一跳的成绩分别是:135、140、132、137、125,要求统计这几个成绩的平均值。

参考公式:

=SUMIF(B3:F6,'',B2:F5)/5

分析:

SUMIF函数常用于对区域中符合指定的单个条件的值求和。

基本法是:

=SUMIF(条件区域,指定的条件,求和区域)

根据SUMIF函数的使用规则,本题的解题公式=SUMIF(B3:F6,'',B2:F5)/5中:

第一参数B3:E6,就是条件区域。

第二参数指定的条件是'',也就是空值。

注:选择空值作为指定的条件是本题的关键。因为我们要求是对每位同学的最后一跳的成绩计算平均值,首先就要计算出B2:F5区域中每一列的最后一个值。

这最后一个值有什么共同的特点呢?就是这个值向下一个单元格必须是空白的,要是向下一个单元格有值的话,就不是最后一个值了。所以就有了条件区域B3:E6,就是查找最后一行是不是空值。

第3参数是B2:E5,注意这里的引用区域和第一参数的条件区域形成了一个错行的效果。

整个公式的理解就是:

如果B3:F6单元格区域中满足等于空值的条件,就去计算与空值对应的上一行的和,这样就得到了B2:F5区域中每一列最后一个值的和。

最后用SUMIF函数的计算结果除以5(5位同学),结果是133.8cm。

这个公式的最后一步是求5位同学的平均值,所以还可以使用下面的公式来完成:

=AVERAGEIF(B3:E6,'',B2:E5)

注:AVERAGEIF是一个求平均值的函数,函数格式是:=AVERAGEIF(求平均值的数值区域)

图片

接下来我们再看一下这个题目,A1:D5单元格区域是一份员工考核表,每个考核项目使用不同的等级来表示。

图片

现在需要根据右边的等级得分对照表,也就是H2:I6单元格的分值对照表,在F列计算出每位同学的总分值。

计算这个问题,同样可以使用SUMIF函数完成:

=SUMPRODUCT(SUMIF($H$2:$H$6,B2:E2,$I$2:$I$6))

注:本例中的SUMIF函数第二参数使用了多个单元格,计算在条件区域H$2:H$6中分别符合条件B2:E2的、对应的I$2:I$6的值。

结果是一个内存数组:{10,8,8,4},最后使用SUMPRODUCT函数对这个内存数组求和,得出计算结果。

这两个例子大家看明白了吗?在工作中,时不时也会有类似的统计要求出现,希望这两个例子对大家有所启发。


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多