
- Excel 函式教程
- Excel 函式 - 首頁
- 相容性函式
- 邏輯函式
- 文字函式
- 日期與時間函式
- 多維資料集函式
- 數學函式
- 三角函式
- 資料庫函式
- 動態陣列函式
- 工程函式
- 財務函式
- 資訊函式
- 查詢與引用函式
- 統計函式
- 網路函式
- Excel 有用資源
- Excel - 快速指南
- Excel - 有用資源
- Excel - 討論
Excel - SORTBY 函式
SORTBY 函式
Excel 的 SORTBY 函式允許使用者根據不同陣列/單元格區域的值對陣列或特定單元格區域進行排序。SORTBY 函式在 Excel 365 和 2021 中受支援,並歸類為 Microsoft Excel 中的動態陣列函式。舊版本的 Microsoft Excel 不支援 SORTBY 函式。例如,您可以根據年齡對貧困兒童的姓名和班級進行排序。
相容性
此動態陣列函式與以下版本的 Microsoft Excel 相容:
- Microsoft 365 版 Excel
- Microsoft 365 for Mac 版 Excel
- 網頁版 Excel
- Excel 2024
- Excel 2024 for Mac
- Excel 2021
- Excel 2021 for Mac
- iPad 版 Excel
- iPhone 版 Excel
- Android 平板電腦版 Excel
- Android 手機版 Excel
語法
SORTBY 函式的語法如下:
=SORTBY(array, by_array1, [sort_order1], [by_array2, sort_order2],…)
引數
您可以對SORTBY 函式使用以下引數:
引數 | 描述 | 必填/可選 |
---|---|---|
陣列 | 它指定一個數組或單元格區域。 | 必填 |
by_array1 | 用於排序的另一個數組/單元格區域 | 可選 |
sort_order1 | 其值為 1 或 -1。您可以指定 1 表示升序,-1 表示降序。 | 可選 |
by_array2 | 第二個陣列/單元格區域,用於對 SORT 函式第一個引數中指定的陣列進行排序。 | 可選 |
sort_order2 | 其值為 -1(降序)和 1(升序) | 可選 |
需注意的幾點
- 引數 sort_order1 和 sort_order2 必須具有相同數量的行和列;否則,SORTBY 函式將返回 #VALUE! 錯誤。
- 如果在 sort_order1 和 sort_order2 中指定除 -1 和 1 之外的數字值,則 SORTBY 函式將返回 #VALUE! 錯誤。
- 每當您修改已定義陣列中的資料時,動態陣列結果都會自動更改。
- 有時,如果可用的行/列數量有限,無法顯示結果,Microsoft Excel 將顯示 #SPILL 錯誤。確保您有足夠的水平和垂直空間來填充生成的動態陣列。
SORTBY 函式示例
練習以下示例,學習如何在 Excel 中使用SORTBY 函式。
示例 1
SORTBY 函式根據指定範圍中的值,對提供的陣列中定義的資料進行篩選。在此示例中,使用者必須按員工的薪水篩選員工姓名。
步驟 1 - 使用以下資料集使用 SORTBY 函式:

步驟 2 - 在F2 單元格中輸入公式"=SORTBY(Table15,D2:D8)"。然後,按Enter 鍵。

解釋
- 第一個引數陣列表示範圍為A2:B8 的 Table15。
- 第二個引數by_array1 表示單元格區域 D2:D8,不包括其標題。
- Table 15 按年齡排序。例如,如果員工Raayn 年齡最小,他將位於第一位,依此類推。
步驟 3 - SORTBY 函式將獲得按兒童年齡升序排列的結果動態陣列。

步驟 4 - 如果您希望按年齡降序顯示 TABLE15,您可以在F2 單元格中輸入公式"=SORTBY(Table15,D2:D8,-1)" 並按Enter 鍵。這裡,第三個引數為-1,用於降序。


示例 2
使用 Excel 中的 SORTBY 函式對資料集進行多列排序。
解決方案
假設樣本資料集包含四列:客戶、資料資源、活躍/非活躍客戶和資源流行度。

在F2 單元格中輸入公式"=SORTBY(B2:B8,A2:A8,1,D2:D8,-1)" 並按Enter 鍵。在此公式中,第二個引數by_array1 指定範圍A2:A8,第三個引數1 表示升序排序。第四個引數by_array2 表示單元格區域D2:D8。第五個引數-1 表示降序排序。

因此,SORTBY 函式根據名為 Customer_id 和 Resource popularity 的兩列顯示Data Resources 列的值。
