✔ 最佳答案
版主範例有個疑問:
第6列最低分50有三個,當取何者?
第45列最高分93有三個,當取何者?
2012-12-02 02:50:43 補充:
另一發現:
名單中,50列未列入排名
排名中,34、35列重複排名
2012-12-03 01:42:10 補充:
檔案修改參考:
http://www.funp.net/770294
2012-12-05 18:44:52 補充:
依範例檔修改、增建相關欄位公式:
◆ 增建〔T 輔助欄〕:作用將每列〔加權平均〕減去不同之極小值,防止相同分數出現。
T5 = I5-ROW()/10^7
◆ 增建〔U 輔助欄〕:作用為抓取每列五科成績中最高分數。
U5 = MAX(C5:G5)
◆ 增建〔V 輔助欄〕:作用為抓取每列五科成績中最低分數。
V5 = MIN(C5:G5)
◆ J 欄位排名公式修改參照範圍為 T 輔助欄,如果〔加權平均〕相同者,會依名單出現次序(亦即由上至下)優先排名。
J5 = RANK(J5,$J$5:$J$52)
◆ O 欄位依照排名順序列出學生名稱:
O5 = INDEX(B:B,MATCH(SMALL(J:J,ROW(J1)),J:J,0))
◆ Q 欄位列出該學生最高分科目(分數相同者均一併列出)
Q5 = TRIM(IF(VLOOKUP($O5,$B$5:$G$52,2,0)=VLOOKUP($O5,$B$5:$V$52,20,0),$C$2,"")&" "&IF(VLOOKUP($O5,$B$5:$G$52,3,0)=VLOOKUP($O5,$B$5:$V$52,20,0),$D$2,"")&" "&IF(VLOOKUP($O5,$B$5:$G$52,4,0)=VLOOKUP($O5,$B$5:$V$52,20,0),$E$2,"")&" "&IF(VLOOKUP($O5,$B$5:$G$52,5,0)=VLOOKUP($O5,$B$5:$V$52,20,0),$F$2,"")&" "&IF(VLOOKUP($O5,$B$5:$G$52,6,0)=VLOOKUP($O5,$B$5:$V$52,20,0),$G$2,""))
◆ R 欄位列出該學生最低分科目(分數相同者均一併列出)
R5 = TRIM(IF(VLOOKUP($O5,$B$5:$G$52,2,0)=VLOOKUP($O5,$B$5:$V$52,21,0),$C$2,"")&" "&IF(VLOOKUP($O5,$B$5:$G$52,3,0)=VLOOKUP($O5,$B$5:$V$52,21,0),$D$2,"")&" "&IF(VLOOKUP($O5,$B$5:$G$52,4,0)=VLOOKUP($O5,$B$5:$V$52,21,0),$E$2,"")&" "&IF(VLOOKUP($O5,$B$5:$G$52,5,0)=VLOOKUP($O5,$B$5:$V$52,21,0),$F$2,"")&" "&IF(VLOOKUP($O5,$B$5:$G$52,6,0)=VLOOKUP($O5,$B$5:$V$52,21,0),$G$2,""))
◆ 或者 Q、R 欄位公式共用,以 Q5 起始往右向下複製至 R 欄位 =
TRIM(IF(VLOOKUP($O5,$B$5:$G$52,2,0)=VLOOKUP($O5,$B$5:$V$52,COLUMN(T1),0),$C$2,"")&" "&IF(VLOOKUP($O5,$B$5:$G$52,3,0)=VLOOKUP($O5,$B$5:$V$52,COLUMN(T1),0),$D$2,"")&" "&IF(VLOOKUP($O5,$B$5:$G$52,4,0)=VLOOKUP($O5,$B$5:$V$52,COLUMN(T1),0),$E$2,"")&" "&IF(VLOOKUP($O5,$B$5:$G$52,5,0)=VLOOKUP($O5,$B$5:$V$52,COLUMN(T1),0),$F$2,"")&" "&IF(VLOOKUP($O5,$B$5:$G$52,6,0)=VLOOKUP($O5,$B$5:$V$52,COLUMN(T1),0),$G$2,""))
參考檔案:
http://www.funp.net/853088
◆ 寧靜大河 ◆
2012-12-05 18:46:19 補充:
感謝知識家大師提供指導協助 ! !
2012-12-05 20:33:45 補充:
修正:J 欄位公式應為 J5 = RANK(T5,$T$5:$T$52)