Excel如何有效提取同一名字对应的最高分数

发布时间:2019-12-23 来源:网络


“办公技巧兴趣邦”的微信群上,有位童鞋曾问到如何解决“提取相同名字所对应的最高分数并标识出来,且其它分数统一变成数字3这一问题。在这里我们采用两种办法进行解答,也希望能帮助遇到此类问题的童鞋顺利、有效地解决难题。


如图1,需要将相同名字最高分标识出来,然后将C列不是最高分的改为数字3。


(图1)


方法一:公式法此方法最为推荐,也比较快捷。


1、复制姓名列(A列)在E列,然后依次选择【数据】选项卡→选择“删除重复项”,如图2所示


(图2)


2、在F2单元格中输入如下数组公式:(输入公式后,按Ctrl+Shift+Enter)

=LARGE(((E2=$A$2:$A$14)*$C$2:$C$14),1)


公式解析:


A、E2=$A$2:$A$14,判断是否为“甲”,如果是,则返回TRUE,如果不是则返回FASLE,形成{TURE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE}的内存数组;(暂时称为数组1)


B、$C$2:$C$14形成{60;70;80;70;70;60;85;85;85;80;70;70;60}的内存数组;(暂时称为数组2)


C、数组1和数组2相乘形成{60;70;80;0;0;0;0;0;0;0;0;0;0}的新数组;(暂时称为数组3)


D、用LARGE函数将其中的最大值提取出来,就得到了成绩的最大值。


如图3所示。


(图3)


3、在D2单元格中输入=A2&C2,并向下填充;同理,在G2单元格中输入=E2&F2,并向下填充,得到如图4所示的效果。

 

(图4)


4、选择D2:D14单元格区域,然后单击【开始】选项卡→选择【条件格式】→【新建规则】→【使用公式确定要设置格式的单元】→输入如下公式:=MATCH(D2,$G$2:$G$6,0)并设置成红色字体,如图5所示。

 

(图5)


5、变成红色字体的所在的行就是同名最高分数所在的行,在D1输入“辅助列”三个字,然后经过数据筛选,就能提出相应的数据。如图6所示


(图6)


6、然后将筛选出来的结果标识为红色,再通过筛选对不符合期望的数字全部变成3,然后再除去其他辅助数列,就得到了如期的效果,如图7所示。


(图7)


方法二:排序+VLOOKUP函数法


这个办法不需要用到数组公式,比较简单,只要用排序功能和VLOOKUP函数在相同姓名中查找到第一个的特性进行处理。


1、和方法一一样,删除重复项;


2、对A1:C14单元格区域进行按分数降序排列;


3、然后在F2单元格中输入=VLOOKUP(E2,$A$2:$C$14,3,FALSE),向下填充之后就能得到相同名字的最高分;如图8所示。


(图8)


4、再按照方法一的步骤就可以实现了。(注意:可能会遇到姓名顺序不能变的要求,建议可以建立一个自然序列的辅助列,在标识后,可以恢复姓名排序)