在 Excel 中,SORT 函數能依指定欄位與排序方式,將資料動態排序並輸出新陣列。它不會改變原始資料,而是回傳一個新的排序結果,適合用於報表整理、名單排序、動態分析與結構重建。
🔹快速摘要(語法、用途、常見場景)
用途:依指定欄位與排序方式,回傳排序後的陣列
語法:=SORT(array, [sort_index], [sort_order], [by_col])常見場景:名單排序、報表整理、動態分析、結構重建、搭配 FILTER/SEQUENCE
一、SORT 函數語法與用途
=SORT(array, [sort_index], [sort_order], [by_col])
- array:要排序的陣列或範圍
- sort_index(選填):排序依據的欄位或列(預設為第一欄)
- sort_order(選填):排序方式,1=升冪(預設)、-1=降冪
- by_col(選填):TRUE=依欄排序,FALSE=依列排序(預設)
回傳結果為排序後的動態陣列。
二、範例教學:五個基礎 + 五個進階範例
🔸基礎範例
範例一:單欄升冪排序
=SORT(A2:A10)
說明:將 A2:A10 的資料依升冪排序。
範例二:單欄降冪排序
=SORT(A2:A10,, -1)
說明:將 A2:A10 的資料依降冪排序。
範例三:依第二欄排序
=SORT(A2:C10,2,1)
說明:依第二欄升冪排序整個表格。
範例四:依第三欄降冪排序
=SORT(A2:C10,3,-1)
說明:依第三欄降冪排序整個表格。
範例五:依欄排序(橫向資料)
=SORT(A1:F1,1,1,TRUE)
說明:將橫向資料依升冪排序。
🔸進階範例
範例六:搭配 FILTER 篩選後排序
=SORT(FILTER(A2:C100,B2:B100="有效"),2,1)
說明:篩選「有效」資料後,依第二欄升冪排序。
範例七:搭配 UNIQUE 建立排序名單
=SORT(UNIQUE(A2:A100))
說明:建立不重複且排序的名單。
範例八:多欄排序(Excel 365)
=SORT(A2:C10,{2,3},{1,-1})
說明:先依第二欄升冪,再依第三欄降冪排序。
範例九:搭配 SEQUENCE 建立動態排序索引
=INDEX(A2:A10,SORT(SEQUENCE(ROWS(A2:A10)),,,-1))
說明:建立動態排序索引,回傳降冪結果。
範例十:建立動態報表區塊
=SORT(FILTER(A2:D100,C2:C100>50),4,-1)
說明:篩選分數大於 50 的資料,並依第 4 欄降冪排序。
三、常見問題解答(FAQ)
Q1:SORT 會改變原始資料嗎?
不會,它只回傳新的排序陣列,原始資料保持不變。
Q2:SORT 可以多欄排序嗎?
可以,透過陣列參數指定多個欄位與排序方式。
Q3:SORT 可以處理文字嗎?
可以,文字會依字母順序排序。
Q4:SORT 可以搭配其他函數嗎?
可以,常與 FILTER、UNIQUE、SEQUENCE 搭配使用。
Q5:SORT 是否支援橫向排序?
支援,需將 by_col 設為 TRUE。
四、注意事項與錯誤排除
- 若 sort_index 超出範圍,會回傳錯誤。
- 若 array 為空,會回傳空陣列。
- sort_order 僅支援 1(升冪)與 -1(降冪)。
- by_col 預設為 FALSE,若要橫向排序需明確指定 TRUE。
- 在舊版 Excel 不支援 SORT,僅 Excel 365 可用。
五、延伸技巧與相關函數
- FILTER:搭配 SORT 篩選後排序。
- UNIQUE:建立不重複且排序的名單。
- SEQUENCE:建立動態索引,控制排序邏輯。
- INDEX:搭配 SORT 建立動態查表。
- SORTBY:比 SORT 更進階,可依其他範圍排序。
六、結語與延伸閱讀推薦
SORT 是 Excel 中的動態排序工具,能快速整理資料並建立動態報表。若需要更進階的排序邏輯,建議使用 SORTBY 搭配 FILTER、UNIQUE 等函數,建立完整的資料處理流程。





















