在excel中使用公式提取前几项时会遇到排序的值是重复的,这时常规方法提取的排名中会只有一个,这是不符合实际的。这里提供一种方法可以避免这种问题。
工具/原料
excel2003/2007/2010/2013/2016
windows
方法/步骤
1、确认需要完成的效果:左边是需要提取的原始数据,包含序号、姓名、分数列,需要按照分数排列的前10名自动提取到右边着色的表格。注意到分数中有重复值,这个实际中很常见...
2、数据整理:我们刚拿到的数据整理成左边的表格,然后制作一个右侧的表格用来存放提取后的数据。需要前几项都可以,这里以前10为例。
3、在图示单元格填入公式(分数列第一格):=OFFSET($B$2,MATCH(LAR蘅荫酸圉GE($D$3:$D$29+ROW($D$3:$D$29)/1扉钛笆哇000,$G3),($D$3:$D$29+ROW($D$3:$D$29)/1000),0),2)然后Ctrl+shift+enter,注意按键,不能简单的回车!!!
4、在图示单元格填入公式(姓名列第一格):=OFFSET($B$2,MATCH(LAR蘅荫酸圉GE($D$3:$D$29+ROW($D$3:$D$29)/1扉钛笆哇000,$G3),($D$3:$D$29+ROW($D$3:$D$29)/1000),0),1)然后Ctrl+shift+enter,注意按键,不能简单的回车!!!
5、同时选中两个填有公式的单元格,向下拖动自动填充!
6、公式讲解:=OFFSET(铮喘饿怊$B$2,MATCH(LARGE($D$3:$D$29+ROW($D$3:$D$29)/1000,$G3),($D$3:$D$29+ROW($D改怊眶峋$3:$D$29)/1000),0),1)
7、先获取整列的分数值加上一个$D$3:$D$29+ROW($D$3:$D$29)/1000极小值做成数组,这样是为了将重复值区分,加上极小值后的分数变成不重复,也不会影响数值的排名
8、然后就是一个普通的根据排名取值,获取前几大的值,这里不再赘述。