如下图中所示,是一份体育测试成绩表,每位同学都有四次跳高的机会,要求用公式计算出四位同学最后一次跳高成绩的平均值。 最后一跳的成绩分别是: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函数对这个内存数组求和,得出计算结果。 这两个例子大家看明白了吗?在工作中,时不时也会有类似的统计要求出现,希望这两个例子对大家有所启发。 |
|