在用Excel统计成绩时,我们一般会根据成绩高低进行排序,然后按序列自动填充出名次。这种方法得出的名次与总分没有关联,即使成绩相同,也会填充出不同的名次。
如果数据较少,我们可以采用手动的方法将成绩相同的人员改成相同的名次,但数据较多时就很麻烦了。经过实践,以下三种方法可以自动实现同分同名次的操作。假设有1000名考生,字段位置如上图所示。
一、使用排位函数RANK
在H2单元格中输入函数“=RANK(G2,G$2:G$1001,0)”,回车后H2单元格中会出现名次“1”,然后选定H2,拖动其填充柄向下填充即可自动实现。
该函数的功能是返回一个数字(上述函数中的G2,此处采用相对应用,填充时随行的变化而变化)在数字列表(上述函数中的G$2:G$1001,此处采用绝对应用,填充时不发生变化)中的排位。数字的排位是其大小与列表中其他值的比值。该函数在使用时,即使总分没有排序,它也可以直接求出所对应总分的名次;如果总分已排过序,则数字的排位就是它当前的位置。上述函数中最后的“0”指明排位的方式,当其为 0或省略时,Excel 对数字的排位是按照降序排列的。 如果不为零, Excel 对数字的排位则是按照升序排列的。该函数对重复数的排位相同,而下一名次则将前面的重复数计算在内。
二、使用计数函数COUNTIF
打开Excel出现stdole32.tlb的解决方法
打开Excel出现stdole32.tlb的解决方法 步骤一、点击电脑左下角的开始,然后选择运行选项,在弹出的窗口中,我们输入msconfig命令,然后回车,打开系统配置实用程序,如图所示: 步骤二、然后在弹出的系统配置实用程序界面中,我们点击上面的工具按钮,然后在里面找到“UAC设置”(User Account Control : 用户帐户控制),接着点击下面的启动。如图所示: 步骤三、接着将会弹出一个运行的窗口,然后等窗口自动运行完之后,我们重启一下电脑即可解决问题。 注意:以后需要重新启动,只需要按
在H2单元格中输入函数“=COUNTIF(G$2:G$1001,">"&G2) 1”,然后向下自动填充即可实现该操作。
该函数的功能是计算区域中满足给定条件的单元格个数。上述函数中采用绝对引用指定计算区域G$2:G$1001,名次所对应的单元格G2采用相对引用。即求出在G2:G1001区域中大于名次所对应总分的单元格的个数,然后加上1就可以得出该单元格中数值的名次。该操作不管有几个重复的,大于它的个数却是固定的,所以重复数据的名次也就是相同的了。同RANK函数一样,该函数不管是否已经按总分进行排序均可进行上述操作。
三、采用IF语句加COUNT函数
该操作与上述两种方法不同,必须先将总分按照降序排列。然后将第一名的名次“1”输入,再在H3单元格中输入函数“=IF(G3=G2,H2,COUNT($G$2:G3))”,确定后向下自动填充也可实现同分同名次的操作。
COUNT函数的功能是返回指定区域中数字单元格的个数。因为G列全是数字单元格,所以该总分处在第几位上名次就是几。上述语句的意思就是如果当前总分和上一个总分相同,则输入上一个总分的名次,否则执行COUNT语句,统计个数。
以上三种方法均可自动实现同分同名次操作。本文虽然有孔乙己先生关于“回”字有四种写法的嫌疑,但笔者的目的却只有一个,那就是抛砖引玉,让Excel函数更好的为我们服务。
怎样使用excel计算工龄
怎样使用excel计算工龄 今天一位搞财务的mm问我excel计算工龄的问题,我想了想,还真不会啊。搞测试的,写case,报进度,统计bug一般都是用excel,还真没弄过计算工龄日期生日之类的。 她的要求是: 居然不会,想了半天想到2个方案:1、用perl写个脚本给她;2、把信息导入数据库,用select 语句查询再把结果导出; 后来仔细想想,这种不符合她的要求,人家要去用excel解决。于是,我就开始查找excel function,关于日期处理的。 在一般的编程语言与数据库中,都有取得当前日期与字符