免費軟體與線上工具1,417影音、圖片與 PDF9153C 開箱評測895生活、旅遊與遊戲798iPhone 與 Mac546LINE 與社群533Google 服務463Windows 與電腦451Android 手機402網路新知372Office 教學371AI 工具116
Office 教學

Excel SORT 函數教學:自動排序資料範圍,支援遞增與遞減

SORT 函數是 Excel 的動態陣列函數,能夠根據指定的欄位或列,自動將資料範圍按遞增或遞減順序重新排列。公式結果會自動溢出至相鄰的空白儲存格,不需要手動拖曳複製。

Excel SORT 函數語法

=SORT(陣列, [排序索引], [排序順序], [依欄排序])
參數必填說明
陣列是要進行排序的儲存格範圍或陣列。
排序索引選填指定要作為排序基準的欄數或列數。預設值為 1(第一欄或第一列)。
排序順序選填設定排序的方式。1 代表遞增排序(預設值),-1 代表遞減排序。
依欄排序選填設定排序的方向。FALSE 代表依列排序(上下排序,預設值),TRUE 代表依欄排序(左右排序)。

回傳:重新排序後的陣列資料。

適用版本:Microsoft 365、Excel 2021 以上版本支援。

SORT 函數範例

範例 1:基本遞增排序

將業務員的業績資料由低到高進行排序。

姓名業績
王小明500
陳怡君800
林志明300
張雅婷600

在 D2 輸入公式:

=SORT(A2:B5, 2, 1)

結果:林志明。針對 A2:B5 範圍,以第 2 欄(業績)為基準,使用遞增順序(1)進行排序。公式結果會自動溢出,D2 顯示業績最低的姓名。

範例 2:指定欄位遞減排序

將學生的考試成績由高到低進行排序。

姓名成績
王小明85
陳怡君92
林志明78
張雅婷95

在 D2 輸入公式:

=SORT(A2:B5, 2, -1)

結果:張雅婷。針對 A2:B5 範圍,以第 2 欄(成績)為基準,設定為遞減順序(-1)進行排序。D2 會顯示成績最高的姓名,其餘資料向下溢出。

範例 3:水平方向(依欄)排序

將各月份的營收資料依照金額由高到低進行水平排序。

項目1月2月3月
營收500030008000

在 B4 輸入公式:

=SORT(B1:D2, 2, -1, TRUE)

結果:3月。針對 B1:D2 範圍,以第 2 列(營收)為基準進行遞減排序,並將第四個參數設為 TRUE 以執行水平排序。B4 會顯示營收最高的月份。

使用 SORT 的技巧與注意事項

  • SORT 函數只需在左上角的第一個儲存格輸入公式即可,系統會自動計算並將結果填滿所需的儲存格範圍。
  • 原始資料的格式(如儲存格顏色、框線)不會隨著 SORT 函數帶到新的範圍,只會回傳值與部分數值格式。
  • 若需要同時依照多個條件進行排序(例如先依部門排序,再依業績排序),無法單靠 SORT 完成,需改用 SORTBY 函數。

SORT 常見錯誤與解決方法

錯誤原因解決方法
#SPILL!公式預期展開(溢出)的範圍內已經有其他資料、空白字元或合併儲存格,導致無法填入完整的排序結果。清除阻擋公式展開範圍內的所有內容或取消合併儲存格,讓系統有足夠的空白空間顯示結果。
#VALUE!「排序索引」參數輸入的數字超出了陣列的實際欄數或列數。例如陣列只有 2 欄,卻輸入 3。檢查並修正第二個參數,確保該數字小於或等於選定範圍的總欄數或總列數。

Google 試算表可以用 SORT 嗎?

Google 試算表支援 SORT 函數,但參數邏輯與 Excel 完全不同。Google 試算表的語法為 SORT(範圍, 排序列, 遞增遞減, [排序列2, 遞增遞減2...]),可直接支援多條件排序。

下載 SORT 範例檔

上面的範例都整理在這個檔案裡,每個範例一個工作表,黃色格子是公式,可以直接改資料看結果變化:SORT 範例.xlsx(範例公式的結果經過兩個模型交叉核對)。

常見問題

為什麼公式輸入後出現 #SPILL! 錯誤?

這是因為 SORT 函數需要將結果填入相鄰的空白儲存格中。如果目標範圍內已經有其他資料或合併儲存格,就會阻擋公式展開。將該範圍的內容清除即可恢復正常。

可以同時依照兩個以上的欄位進行排序嗎?

Excel 的 SORT 函數只能指定單一欄位或列的索引。若需要多條件排序,請改用 SORTBY 函數,它允許設定多組排序基準與順序。

排序後的資料可以手動修改嗎?

不能直接修改溢出範圍內的單一儲存格。因為整個結果是由左上角的第一個公式產生的,若嘗試修改其他儲存格,會導致陣列中斷並顯示 #SPILL! 錯誤。

相關函數

這篇收錄在「Excel 函數字典」。