问题情境
如下样表 , 记录了每个人的得票情况:
文章插图
求统计得票最多的姓名 。
【Excel统计得票最多的姓名】公式实现
在D2单元格输入公式:
=IFERROR(INDEX(B$2:B$16,SMALL(MODE.MULT(MATCH(B$2:B$16,B$2:B$16,)),ROW(A1))),””)
即得得票最多的姓名 。
如果得票最多的不止一位 , 可向下填充公式 , 得出其它姓名 。
如下图:
文章插图
公式解析
MATCH(B$2:B$16,B$2:B$16,):
在B2:B16区域 , 依次匹配B2:B16单元格中每一位姓名出现的位置 。MATCH函数匹配位置 , 只能匹配第一次出现时的位置 , 比如“王一” , 虽然出现在第1、6、7、11、13位上 , 但MATCHA的返回值都是1 , 所以本部分返回的是各个姓名第一次出现位置的数组:
{1;2;2;4;4;1;1;2;9;2;1;9;1;2;10}
MODE.MULT(MATCH(B$2:B$16,B$2:B$16,):
MODE.MULT计算出现最多的位次 , 即{1;2};
SMALL(MODE.MULT(MATCH(B$2:B$16,B$2:B$16,)),ROW(A1)):
因为有两个出现最多的位次 , 所以在D2显示ROW(A1)即第一个位次的姓名 , D3显示ROW(A2)即第二个位次的姓名;
INDEX(B$2:B$16,SMALL(MODE.MULT(MATCH(B$2:B$16,B$2:B$16,)),ROW(A1))):
用INDEX函数显示B2:B16区域中对应位次的姓名;
IFERROR(INDEX(B$2:B$16,SMALL(MODE.MULT(MATCH(B$2:B$16,B$2:B$16,)),ROW(A1))),””):
屏蔽错误值 , 当公式下拉到D4级以后 , 再没有得票最多姓名时出现空值 。
推荐阅读
- HR必须会做员工Excel生日提醒
- excel图表批注也可插入图片
- Excel数据分属不同组别,同一组别内排序
- 用excel公式生成工资条
- Excel图表根据规定好的占比划分成绩等级
- excel图表根据等级计算总成绩
- 利用Excel条件格式自制盈亏图,数据对比一目了然
- excel图表算式内既有各种单位又有小数点,怎么计算?
- excel图表计算完成销售计划的产品数量与总销量
- excel图表工资条的又一神奇写法