SUMPRODUCT函数的基本功能是返回多个数组元素对应乘积的和,但是SUMPRODUCT还有很多高阶的用法。这篇文章为朋友们分享使用SUMPRODUCT函数实现连续的排名、也叫中式排名。一.SUMPRODUCT函数简介:1语法:SUMPRODUCT(array1, [array2], [array3], ...)2参数:(1)Array1 必需。其相应元素需要进行相乘并求和的第一个数组参数。(2)Array2, array3,... 可选。2 到 255 个数组参数,其相应元素需要进行相乘并求3说明:(1)数组参数必须具有相同的维数,否则,函数 SUMPRODUCT 将返回错误值 #VALUE!。(2)函数 SUMPRODUCT 将非数值型的数组元素作为 0 处理。4基本用法演示:二.RANK和SUMPRODUCT函数排名的区别:当存在重复的数据时;RANK函数排名会出现间断,SUMPRODUCT 函数则可以实现连续的排名。如下图所示因为存在两个总分为278的同学,SUMPRODUCT 函数将总分276的同学排名为4,而RANK函数将其排名为5。三.SUMPRODUCT函数实现中式排名的操作方法及公式解析:1.在F2单元格输入公式:=SUMPRODUCT(($E$2:$E$13>=E2)/COUNTIF($E$2:$E$13,$E$2:$E$13))2.公式解析:(1)COUNTIF($E$2:$E$13,$E$2:$E$13)的功能是统计E2:E13单元格区域每个单元格内容在这个单元格区域出现的次数;这部分函数的倒数1/COUNTIF($E$2:$E$13,$E$2:$E$13)的功能是保证在求和时对于重复出现的元素的和为1(这里是实现中式排名的关键)。例如总分278出现两次则返回的值为0.5。(2)($E$2:$E$13>=E2)返回的是由逻辑值构成的数组。当E2:E13的单元格内容大于等于E2单元格内容时返回TRUE,否则返回FALSE。在与(1)构造的数组相乘时,true代表1、false代表0。(3)当公式填充到F6单元格时;E4和E5单元格利用上述构造的数组求和为1(出现两次,每次的值都为0.5),所以能够实现连续的排名。四.注意事项:1.SUMPRODUCT函数为数组函数,所以在输入公式时要Ctrl+Shift+Enter填充。2.将公式修改为=SUMPRODUCT(1/COUNTIF($E$2:$E$13,$E$2:$E$13))可以实现不重复个数的计数。
0 评论