← Excel 公式課程

FIELD NOTES / Excel 公式教學

SMALL 找出第幾小的數值

Excel 公式教學發布:作者:茂伯預估 5 分鐘閱讀

學會從一欄數值找出第三小的值,並用第二個參數控制想取的位置。

本文目錄

本教學由作者茂伯編寫,並由作者在 Windows 版 Microsoft 365 與 Excel 2021 實際操作驗證。

學會從一欄數值找出第三小的值,並用第二個參數控制想取的位置。你會把資料依大小在紙上排列,理解重複數值仍各占一個位置,分清楚結果是處理分鐘數值而不是名次,並能自行檢查位置超出資料筆數的錯誤。

什麼時候會用到

  • 整理一批處理分鐘,需要第一、第二或第三小的數字作比較時,可直接指定位置,無須搬動原表或新增排序欄。

  • 比較較短的處理時間或較低的報價時,取得從小數值起算的指定位置;若出現同樣價格或時間,仍保留每筆紀錄,不自行去重。

適用版本

  • 本課可在 Microsoft 365、Excel 2024、Excel 2021、Excel 2019 與 Excel 2016 使用,官方函數頁列有這些版本。

  • 本課使用一般儲存格參照,輸入完成按 Enter 即可;不需額外增益集,也不用特殊陣列按鍵。

先準備範例資料

開啟空白活頁簿,依下表輸入對應儲存格。表中「(空白)」代表儲存格留空,請勿輸入括號內的文字。

列 A B
1 訂單 處理分鐘
2 甲單 18
3 乙單 12
4 丙單 25
5 丁單 12
6 戊單 20
7 己單 15
8 庚單 30
  • A1:B8是原始資料,A欄提供識別名稱,B2:B8是七筆處理分鐘;函數只處理B欄,名稱不會影響數值位置。

  • B3與B5都等於12,是兩筆不同紀錄的相同數值,刻意保留重複。不能先刪掉其中一筆再期待本課的第三小答案。

  • 原表不必預先排序。核對時可在紙上把七個值由小到大排列,主題目再取第3個,而不是直接拿B欄第3筆。

  • 數值請輸入純數字,單位分鐘放在欄位標題或說明。第二個參數3也是數字,不加雙引號,更不是資料範圍的起訖列號。

輸入這個公式

在 E2 輸入以下公式,按 Enter。

=SMALL(B2:B8,3)

輸入位置:E2  正確結果:15

語法與引數

=SMALL(array,k)

引數就是交給函數處理的資料或設定。語法中的 [ ] 表示可以省略,輸入公式時不要打出方括號或省略號。

array 必要。要比較大小的數值範圍,本例B2:B8。array只是參數名稱,不需要把這個英文單字輸入公式;實際公式填入儲存格範圍。

k 必要。從小到大起算第幾個位置,本例3。初學時使用1到有效數字筆數之間的整數;1表示最小,本題7表示最大。

公式使用半形標點;部分地區設定以分號分隔引數,請依 Excel 的提示調整。

照著做並核對畫面

  1. 新增一張空白工作表,點選 A1,依資料表輸入到 B8。第一列是標題,第2至第8列才是七筆紀錄;數字欄只輸入數字,單位留在標題或說明中。
  2. 在公式列左側的名稱方塊輸入 A1:B8,按 Enter 檢查資料的位置。確認B3與B5都是12,不要誤把重複值刪除或改成別的數字。 若貼上後擠在同一格,先重新分欄輸入,確認每個欄位各占一欄。
  3. 點選 E1,輸入「第三小的處理時間」。再點選 E2,確保結果放在原始資料右側,不覆蓋資料,也不把 E2 自己包含在計算範圍內。
  4. 切換半形英數輸入,在 E2 完整輸入 =SMALL(B2:B8,3)。輸入完成先核對函數拼字、冒號與左右括號,再按 Enter;請勿把語法說明中的方括號輸入公式。
  5. 確認 E2 顯示 15,再重新點選 E2。公式列應顯示 =SMALL(B2:B8,3),儲存格則顯示答案;若答案不同,先核對資料與範圍,不要直接把答案數字覆寫進 E2。
SMALL 範例資料及公式結果的 Excel 網頁版實際操作畫面

圖 1 Excel 網頁版實際操作畫面。Windows 桌面版工具列外觀可能不同。

結果解讀

  1. 先讀取B2:B8的七筆數值,在紙上由小到大排為12、12、15、18、20、25、30,每筆紀錄都保留。

  2. 從左邊數位置:第1個是12,第2個仍是12,第3個才是15。兩個相同值分別占一格。

  3. 主公式的k是3,所以E2回傳15分鐘。結果是原資料裡的數值,不是數字3,也不會附上對應人的姓名或訂單名稱。

  • 重複值不會自動合併。本題第1與第2小相同,都是12;第3小才是15。若你要的是第三種不同數值,那是不同問題,不能直接把k設3解讀。

  • 當k小於或等於0,或超過可用數字筆數時,會顯示#NUM!。本題有七筆,所以可從1選到7;把k改成8不代表回傳空白。

  • 本函數只回傳指定位置的一個數值,不會重新排序原表。看見E2更新時,左側資料仍保持原來順序是正常現象,不需要把原表重新排列才能驗算。每次比較前先確認資料筆數與範圍一致;範圍外的新紀錄不會自動加入這次的大小比較。

常見錯誤

  1. 主題目答案與第三個原始資料相同,以為應如此

原因:將原表第3筆或工作表第3列直接當成第三大或第三小。 處理:先按小到大順序列出12、12、15、18、20、25、30,再數第3個位置。

  1. 第二個位置以為應跳過重複數字

原因:自行把兩筆12合併成一個不同數值,改變了題目的計算對象。 處理:保留B3及B5兩筆12,排序時各寫一次;k計算資料位置,不計算不同數值的種類。

  1. 顯示#NUM!

原因:k可能設成0、負數或大於七;也可能資料範圍沒有可用數字。 處理:先確認B2:B8七格都是原始數字,再將k恢復為3,勿將錯誤儲存格直接改成預期答案。

自己試一次

先遮住解答,試著自己輸入公式並預測結果。每題都從上方的原始資料重新開始,結果放在題目指定的儲存格。

練習 1 找最小值

先恢復本課原始資料。在E2只用本課函數求最小的處理分鐘,資料不修改。

參考公式:

=SMALL(B2:B8,1)

正確結果:12

解答 1 從小到大的第1個位置就是最小值,所以k填1。

解答 2 排序第一個是12,答案為12分鐘;即使有兩筆相同,也只回傳一個數值。

練習 2 找第四個位置

先恢復本課原始資料。在E2求第四小的處理分鐘。

參考公式:

=SMALL(B2:B8,4)

正確結果:18

解答 1 依序數前四個位置,重複的12要占兩個位置。

解答 2 第4個值是18,因此答案為18分鐘。

練習 3 把位置放在儲存格

先恢復本課原始資料。在D1輸入「指定位置」、D2輸入5;在E2以D2作第二個參數。

參考公式:

=SMALL(B2:B8,D2)

正確結果:20

解答 1 D2存放數字5,公式的第二個參數填D2,不加雙引號。

解答 2 函數讀到k=5後,回傳第5小的20;之後可改D2數字切換位置。

官方參考

Microsoft Support:SMALL 函數