在excel中如何按某一条件排列名次?

2024年11月19日 05:29
有4个网友回答
网友(1):

用公式=sumproduct(($G$3:$G$37=G3)*(H3<$H$3:$H$37))+1即可实现。

具体步骤如下:

1.在单元格I3中输入“=sumproduct(($G$3:$G$37=G3)*(H3<$H$3:$H$37))+1”

2.将鼠标放在I3单元格的右下角黑色实心方框上,待鼠标指针编程黑色十字时,双击

3.即可自动填充公式至下面所有的相邻单元格中,也就实现了同科成绩排名,如下图所示:


关于此例中用到的SumProduct函数的相关知识:

sumproduct函数用于计算相应的区域或数组乘积的和

   说明:数组参数必须具有相同的维数,否则,函数 SUMPRODUCT 将返回错误值 #VALUE!。函数 SUMPRODUCT 将非数值型的数组元素作为 0 处理。

汉语的意思SUM:【数】求和。PRODUCT:【数】(乘)积 20 is the product of 5 and 4.二十是五与四的乘积。SUMPRODUCT:组合的汉语意思是:乘积之和,在给定的几组数组中,将数组间对应的元素相乘,并返回乘积之和。


数学函数SUMPRODUCT应用实例:

基本功能

1.函数SUMPRODUCT的功能返回相应的区域或数组乘积的和。

2.基本格式SUMPRODUCT(数据1,数据2,……,数据30)

3.示例数据表A列 B列 C列 D列 E列数据1数据2数据3数据4数据52 3 4 12 105 5 6 5 209 7 8 #N/A 307 2 7 9 KL1 6 2 8 2

⑴基本计算

①区域计算要求:计算A、B、C三列对应数据乘积的和。公式:=SUMPRODUCT(A2:A6,B2:B6,C2:C6)计算方式:=A2*B2*C2+A3*B3*C3+A4*B4*C4+A5*B5*C5+A6*B6*C6即三个区域A2:A6,B2:B6,C2:C6同行数据积的和。返回值788。

②数组计算要求:把上面数据表中的三个区域A2:A6,B2:B6,C2:C6数据按一个区域一个数组,计算对应数组积的和。把A2:A6,B2:B6,C2:C6分别作为一个数组,即A2:A6表示为数组-{2;5;9;7;1}B2:B6表示为数组-{3;5;7;2;6}C2:C6表示为数组-{4;6;8;7;2}公式:

=SUMPRODUCT({2;5;9;7;1},{3;5;7;2;6},{4;6;8;7;2})

=788

注意:数组数据用大括号{}括起来。行数据之间用分号";"分隔,如果是同一行的数据,用逗号","分隔。

⑵可能出现的错误

①编辑公式时,引用的数据区域大小不一致导致计算错误,返回值为#VALUE!。示例:在上面的数据表中,计算A列与B列数据区域积的和。公式:

=SUMPRODUCT(A2:A6,B2:B5)

=SUMPRODUCT(A2:A6,B2:B8)

都会返回错误值#VALUE!。所以在用SUMPRODUCT函数时,引用的数据区域大小要一致。

②数据区域中有错误值时,计算出现错误值。示例:在上面的数据表中,计算数据区域A2:A6与D2:D6对应积的和。公式:

=SUMPRODUCT(A2:A6,D2:D6)

因为D2:D6中有错误值#N/A,所以公式返回值为错误值#N/A。

③数据区域引用不能整列引用。示例:计算上面数据表中A2:A6和B2:B6区域对应数据积的和,正确公式为=SUMPRODUCT(A2:A6,B2:B6)则返回正确的计算值94。如果用公式

=SUMPRODUCT(A:A,B:B)

则返回错误值#NUM!。

④数据区域有文本,计算中系统默认文本值为0。示例:在上面数据表中,计算A2:A6和E2:E6区域中对应数据积的和。公式

=SUMPRODUCT(A2:A6,E2:E6)

返回值是392,其中E5是文本KL,则A5*E5=0。

网友(2):

我是用笨方法:
1、将全表加一列原始的序号;
2、按科的类序,使相同的科类排在一起;
3、分科类对同一科类用RANK函数排序;
4、将排序结果复制选择性粘贴在原位;
5、以原始序号排序,恢复原始次序。

网友(3):

先进行分类,再用rank函数进行排序

网友(4):

在I3输入:

=sumproduct(($g$3:$g$37=g3)*(h3<$h$3:$h$37))+1
下拉填充。