你好,求excel公式:各科按名次划分等级

来源:百度知道 编辑:UC知道 时间:2024/06/20 07:04:53
每个学生共有七科,每一科占一列,现在每科都有了原始分数,要求每科前1--40名标记为A,41--90名标记为B,91--150名标记为C,150名以后标记为D。请求一定用函数公式做。小弟在此先谢了!
按您的方法操作成功,但是把公式粘贴到其他科目所在列时有的单元格出现了“#N/A”的错误,不知如何办?请再赐教。

又补充:其实,我看了,复制公式是可以的,比如,我把B1格中的A复制到D1时,公式范围会自动变成C1:C250,但是另外才发现,开始在B列中只能排出A和B两个等级,没有C和D啊!再请赐教!!

很简单嘛,用到两个函数,RANK()和IF()就能解决这个问题。
假设A列为一个科目的成绩,总人数250人,B列为评定等级列,公式如下:
=IF(RANK(A1,$A$1:$A$250)<40,"A",IF(RANK(A1,$A$1:$A$250)<90,"B",IF(RANK(A1,$A$1:$A$250)<150,"C","D")))

如果你理解不了的话,我再分步解释一下,你可把这公式转化为两个公式。
假设A列为一个科目的成绩,总人数250人,B列用来对A列的成绩进行排序。公式如下:
=RANK(A1,$A$1:$A$250)
意思为:=RANK(要排序的列,要排序的单元格的范围)

然后再用一个C列来对B列完成的排序进行条件选择。公式如下:
=IF(B1<40,"A",IF(B1<90,"B",IF(B1<150,"C","D")))

现在你该明白了吧,第一个公式就是这两个列的公式的组合。但这个公式有一个问题,那就是如果成绩相同,它会把他们并列看成一个名次,也就是说如果分数相同则名次相同,随后的名次将空缺。如90分出现两次,其排位为4,则89分的排位为6(没有排位5了)。

你不能只是简单的复制公式,你要明白公式的含义,rank用来排序,if用来按条件进行选择。要排序的列和单位格的范围是不一样的。