|
楼主 |
发表于 2010-12-13 10:23
|
显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
统计一个年级的名次情况:
排名方法之一.rar
(12.77 KB, 下载次数: 701)
全级通排,
含并列
基本内置公式 =RANK(L2,表1[总分])
用MMULT函数(多单元格数组公式) =MMULT(N(表1[总分]<=TRANSPOSE(表1[总分])),ROW(表1[总分])^0)
不并列
用不同的行区分开并列 =MMULT(N(表1[总分]-(ROW(1:76)-1)/1000<=TRANSPOSE(表1[总分]-(ROW(1:76)-1)/1000)),ROW(表1[总分])^0)
用不同的学科区分开并列
=SUMPRODUCT(--(MMULT((LEFT([班])=LEFT(C2))*表1[[语文]:[总分]],10^ROW($1:$9))>=SUM(D2:L2*10^COLUMN($A:$I))))
分段区分名次(无并列名次):
按班排名 =SUMPRODUCT(--(MMULT(([班]=C2)*表1[[语文]:[总分]],10^ROW($1:$9))>=SUM(D2:L2*10^COLUMN($A:$I))))
按校排名 =SUMPRODUCT(--(MMULT((LEFT([班],2)=LEFT(C2,2))*表1[[语文]:[总分]],10^ROW($1:$9))>=SUM(D2:L2*10^COLUMN($A:$I))))
用不同的学科区分开并列名次。
公式中的
表1[[语文]:[总分]]
是定义表1后自动引用的名称,当你用鼠标选取
d2:l2
时系统自动变成名称引用。
本例主要是让大家体会
用MMULT函数的排名方法。
其他不同的排名方法见本贴的3楼。这里不再细说。
[ 本帖最后由 lhx120824 于 2010-12-13 18:56 编辑 ] |
|