Categories: Excel

Excel 計算成績排名前三名、倒數前三名教學與範例

介紹如何在 Excel 中使用 SMALLLARGERANK 等函數,依據成績分數篩選出排名前三名或倒數前三名的學生。

標示前三名

假設我們現在有一份 Excel 表格,其中含有學生的原始成績資料,內容如下:

原始成績資料

若希望根據成績計算出全班的前三名,可以使用 IFLARGE 函數來判斷每個成績是否為前三名,若為前三名則顯示名次:

=IF(B2=LARGE($B$2:$B$16,1),1,IF(B2=LARGE($B$2:$B$16,2),2,IF(B2=LARGE($B$2:$B$16,3),3,"")))
標示前三名

這裡的三個 IF 巢狀判斷結構,也可以用 IFS 多重判斷函數來替代,也就是改寫成這樣,效果相同:

=IFS(B2=LARGE($B$2:$B$16,1),1,B2=LARGE($B$2:$B$16,2),2,B2=LARGE($B$2:$B$16,3),3,TRUE,"")

除了使用 IFLARGE 函數來判斷前三名之外,也可以改用 IF 搭配 RANK 函數,透過 RANK 計算名次,然後用 IF 判斷名次,只顯示前三名:

=IF(RANK(B2,$B$2:$B$16)<=3,RANK(B2,$B$2:$B$16),"")
標示前三名

標示倒數前三名

若要標示倒數前三名,就把原本的 LARGE 函數改為 SMALL 函數即可:

=IF(B2=SMALL($B$2:$B$16,1),1,IF(B2=SMALL($B$2:$B$16,2),2,IF(B2=SMALL($B$2:$B$16,3),3,"")))
標示倒數前三名

這是用 IFS 函數來計算倒數前三名的版本:

=IFS(B2=SMALL($B$2:$B$16,1),1,B2=SMALL($B$2:$B$16,2),2,B2=SMALL($B$2:$B$16,3),3,TRUE,"")
標示倒數前三名

若要以 IF 搭配 RANK 函數來計算倒數前三名,可以將 RANK 函數的第三個參數指定為一個不是 0 的數值,這樣就會以遞增的方式排序分數:

=IF(RANK(B2,$B$2:$B$16,1)<=3,RANK(B2,$B$2:$B$16,1),"")
標示倒數前三名
Share
Published by
Office Guide

Recent Posts

Python 使用 PyAutoGUI 自動操作滑鼠與鍵盤

本篇介紹如何在 Python ...

1 年 ago

Ubuntu Linux 以 WireGuard 架設 VPN 伺服器教學與範例

本篇介紹如何在 Ubuntu ...

1 年 ago

Linux 網路設定 ip 指令用法教學與範例

本篇介紹如何在 Linux 系...

1 年 ago

Linux 以 Cryptsetup、LUKS 加密 USB 隨身碟教學與範例

介紹如何在 Linux 系統中...

1 年 ago