Excel从入门到精通五十一

2024-06-21 0

大家好,接下来的课程,今天我将继续分享如何改进SUMPRODUCT()函数的使用,首先是一个工作示例:

有一个员工分数列表,所以我们现在要做的就是根据员工分数进行计算(分数越高,排名越高)。,而我们的Excel有自己的排名函数,就是RANK()函数。但是,如果使用RANK()函数计算出的排名与上图中的结果相同(即美式排名),那么。如果遇到分数相等的情况就会出现问题,计算出对应的并列分类后,会将对应的分类存储到其下级分类中,如果有多个分类并列,则会保留几个分类。这导致了排名的突破。例如:上图中员工C和员工D并列第三名,但是在计算下一个员工时,他的排名是5,而不是我们下面的,这也显然与实际工作不匹配。

我们在D列中创建一个辅助列,将其命名为“中文式排序”,并在中添加D2SUMPRODUCT(($B$2:$B$18>B2)/COUNTIF($B$2:$B$18,$B$2:$)D2至B$18))1,

回车后,双击填充柄,将公式向下复制,即可得到中式排序结果:

我们来看看这个公式的内部参数,分为两部分:第一部分是逻辑表达式$B$2:$B$18>B3。即判断所有员工的分数是否大于当前员工的分数,结果返回TRUE或FALSE,表示运算的值为1或0,第二部分为COUNTIF($B$2:$B$18,$B$2:$B$18)是第一个。这次我们发现了这个用法,因为根据我们之前的课程,COUNTIF()函数的第二个参数是一个单元格地址,而不是像这个问题一样的单元格范围。那么这道题的用处就是数组公式的使用,当第二个参数是单元格地址时,返回值是结果,当第二个参数是多个地址的引用时,返回结果是数值数组。,所以COUNTIF的结果来自这个问题。将某列中的分数对应的数字进行除法(共17项),前面逻辑运算的结果也对应于这17项。这样,两者相除得到对应的1和0,然后用SUMPRODUCT()将最后的1加到当前who的目标上。如果还是不明白,可以参考上一章,开启“公式求值”功能,看看每一步的计算和分析。

好了,今天的功能课程就分享到这里了,喜欢的小伙伴请关注并提交,期待下期精彩课程。

本站文章均由用户上传或转载而来,该文章内容本站无法检测是否存在侵权,如果本文存在侵权,请联系邮箱:2287318951@qq.com告知,本站在7天内对其进行处理。

发布评论