众数三兄弟有啥区别,Excel mode、mode.sngl和mode.mult众数计算用法区别,计算加班次数最多的人


那些年我们一起打过的卡

120个必学必会Excel常用函数
第96天 众数计算mode.sngl和mode.mult
技巧1:mode、mode.sngl和mode.mult众数函数用法教程
技巧2:屏蔽mode.mult结果中的错误值
技巧3:计算加班次数最多的人
练习软件:WPS 2024
01
mode、mode.sngl和mode.mult众数函数用法教程

众数是指在一组数据集中出现次数最多的数,广泛应用于大面积普查统计中。在Excel 2016中,有mode()、mode.sngl()、mode.mult()三个函数用来计算众数。
用法:mode(数字参数1,[数字参数2],…)三个函数的用法相同,都是函数名加数字参数,最多支持255个。
区别分为两个方面,一个是mode函数属于不知道什么时候就要下线的老版本,mode.sngl和mode.mult属于2010版本以后的新功能;如果有多个数值,重复出现的次数相同,mode和mode.sngl返回第一个出现的数值,mode.mult返回多个数值的垂直数组。
既然结果是数组,就要以数组公式的形式输入,先选择要输出结果值的单元格区域,输入公式,Ctrl+Shift+Enter组合三键生效。

02
屏蔽mode.mult函数结果中的错误值

对于有多个数值重复次数相同的情况,mode.mult函数非常有用,不过其也有两个不足的地方,一是结果是垂直数组,二是数组公式容易出现单元格区域选多选少的问题。
使用transpose函数将垂直数组转水平数组。A10单元格公式为“=TRANSPOSE(MODE.MULT(A1:F2))”操作上相同,仍然是先选中区域,再按下ctrl+shift+enter组合键生效。

使用count函数自由扩展公式结果区域。由于未知众数的个数,因而使用MODE.MULT设置多单元格数组公式时容易出现多余单元格而返回#N/A错误或遗漏单元格。可以在单元格中输入公式“=IF(ROW(A1)>COUNT(MODE.MULT($A$1:$F$2)),””,INDEX(MODE.MULT($A$1:$F$2),ROW(A1)))”并向下复制进行序列填充。最核心的部分就是INDEX函数依次返回众数的结果值数组。

03
加班次数最多的人

组织里总是有人做得多得到的少,做得少得到的多,示例中,领导需要统计一下加班次数最多的人。次数最多,就是众数,可是mode三兄弟函数都支持对数值计算,对姓名文本却无能为力。
思路就是把文本转换成数字,再进行众数计算。E2单元格公式“=IF(ROW(A1)>COUNT(MODE.MULT(MATCH($B$2:$B$18,$B$2:$B$18,0))),””,INDEX($B$2:$B$18,SMALL(MODE.MULT(MATCH($B$2:$B$18,$B$2:$B$18,0)),ROW(A1))))”,虽然公式看起来比较长,但都是老知识了。
主要使用match函数精确查找的特性,重复内容返回首次出现的额位置,如C列,相当于给每个姓名编了个数字代号;接下来就是熟悉的mode.mult众数计算;index+small依次获取数组结果中的值。

夜雨聆风