Excel如何設置動態求和 Excel設置動態求和方法
724
2025-04-01
如何用公式實現根據多個條件(多關鍵字)排名次
如何用公式實現根據多個條件(多關鍵字)排名次
問題:多名考生的考試成績如下表
需要排出名次,具體要求:首先考慮總分,如果總分一樣,再考慮科目1,如果科目1分數一樣,再考慮科目2,如果科目2分數一樣,再考慮科目3。
就等同于按照總分為第一關鍵字、科目1為第二關鍵字、科目2為第三關鍵字、科目3為第四關鍵字降序排列,然后再統計名次,如下圖:
只不過,這里要求用函數準確統計出每位考生的名次。
公式實現如果僅考慮總分
如果僅按總分排名次,大家基本都能會,用RANK函數就可以了。如下圖,在F2單元格輸入公式“=RANK(B2,$B$2:$B$28)”,確定,公式向下填充即可。這樣得出的結果:總分一樣,則名次一樣。
比如總分同是220分,排名都是4,不能更細的區分出名次排位。如果總分相同,再考慮科目1
如果總分相同,再按照科目1進一步計算排名,則需要換公式。
在F2單元格輸入公式“=SUMPRODUCT(N($B$2:$B$28*100+$C$2:$C$28>B2*100+C2))+1”,確定,公式向下填充,如下圖:
我們可以看到:總分相同,但科目1分數不同,則名次不同。
本公式解釋
$B$2:$B$28*100+$C$2:$C$28:本部分含義是將總分依次乘以100,再加上科目1,返回值“總成績*100+科目1”數組。$B$2:$B$28*100+$C$2:$C$28>B2*100+C2):本部分含義是將“總成績*100+科目1”數組,依次與公式所在行考生的“總成績*100+科目1”進行對比,如果大于則返回TRUE,否則返回FALSE。本部分返回TRUE與FALSE組成的邏輯值數組。N($B$2:$B$28*100+$C$2:$C$28>B2*100+C2):用N函數將TRUE與FALSE組成的邏輯值數組中的TRUE轉換成1,FALSE轉換成0,本部分返回1與0組成的數組。SUMPRODUCT(N($B$2:$B$28*100+$C$2:$C$28>B2*100+C2))+1:用數組求和函數對1與0組成的數組求和,并加1,得名次。如果總分相同、科目1分數相同,再考慮科目2
如果總分相同、科目1分數相同,可以再考慮科目2進一步排名,在F2單元格輸入公式“=SUMPRODUCT(N($B$2:$B$28*10000+$C$2:$C$28*100+$D$2:$D$28>B2*10000+C2*100+D2))+1”,確定,公式向下填充,如下圖:
如果總分相同、科目1科目2分數相同,可以再考慮科目3進一步排名,公式怎么寫?朋友們可以試著寫出來,留言。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。