用excel对一列数据进行排名和计算

如图所示,比如在A列是15个人的某项成绩,成绩是无序的,只能这样不能变动。我想用公式在B列首先对这15个成绩排名,然后对前十名的成绩进行乘以110%的计算。举例说明,上图中A7的成绩是15分是最高,所以排名第一,在前十名内,所以对这个人的成绩进行15x110%的计算,则在B7中输出15x110%的计算结果16.5。请问各位大神这样可以用公式实现吗?

1、首先在excel表格中输入一组成绩的数据。

2、点击B1单元格位置并选择“fx”插入“rank”函数。

3、然后根据下图输入函数参数,需要添加“$”绝对定位。

4、点击回车并下拉公式生成所有成绩的排名。

5、选中两列单元格并进入排序操作,选择根据列B进行升序操作。

6、排序好之后,在C1单元格输入“=A1*110%”。

7、点击回车并下拉公式即可批量生成对应A列的计算结果。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-04-10

有个 排名函数rank()和条件函数if()可以实现:

在B1单元格输入=IF(RANK(A1,$A$1:$A$15)<=10,A1*1.1,A1),往下拖则可

追问

恩...可以给我解释一下这个公式吗?

追答

rank()函数是用来求排名的结果是最大的数为1,依次向后排
if()函数是条件函数

RANK(A1,$A$1:$A$15)<=10:意思是:排名<=10
=IF(RANK(A1,$A$1:$A$15)<=10,A1*1.1,A1)
如果A1排名<=10,则A1*1.1,否则为A1

本回答被提问者和网友采纳
第2个回答  2015-04-10
在B1输入公式:
=IF(RANK(A1,$A$1:$A$15,0)<11,A1*1.1,A1)
下拉公式即可
第3个回答  2015-04-10
在B1中输入:
=IF(RANK(A1,$A$1:$A$15)<11,A1*1.1,RANK(A1,$A$1:$A$15)) 回车追问

可以麻烦你解释一下这个公式吗?

追答

RANK(A1,$A$1:$A$15) 是对A1在 A1至A15单元格中进行排名,
公式前半部分:
IF(RANK(A1,$A$1:$A$15)<11,A1*1.1 是条件语句,就是如果排名小于11(即前十名)则输出结果是A1*1.1 即A1的数值与1.1的乘积;公式的后半句:
RANK(A1,$A$1:$A$15) 是如果RANK(A1,$A$1:$A$15)<11 不成立,则对A1继续排名,不乘1.1

第4个回答  2015-04-10
B1=A1*IF(RANK(A1,A$1:A$15)>10,1,1.1)
下拉。
相似回答