SORTBY 函數

套用到
Microsoft 365 Excel Mac 版 Microsoft 365 Excel Excel 2024 Mac 版 Excel 2024 Excel 2021 Mac 版 Excel 2021 iPad 版 Excel iPhone 版 Excel Android 版 Excel 平板電腦 Android 版 Excel 手機

SORTBY函數根據在對應範圍或陣列中的值來排序範圍或陣列的內容。

在此範例中,我們將按照人員的年齡,以遞增順序來排序他們的名稱清單。

使用 SORTBY 來排序範圍。在此例中,我們使用了 =SORTBY(D2:E9,E2:E9) 來按照人員的年齡,以遞增順序來排序他們的名稱清單。

語法

=SORTBY(array, by_array1, [sort_order1], [by_array2, sort_order2],…)

引數 說明
陣列
必要
要排序的陣列或範圍
by_array1
必要
陣列或範圍的排序依據
[sort_order1]
選用
要用於排序的順序。 1 表示遞增,而 -1 表示遞減。 預設值為遞增。
[by_array2]
選用
陣列或範圍的排序依據
[sort_order2]
選用
要用於排序的順序。 1 表示遞增,而 -1 表示遞減。 預設值為遞增。

注意

  • 您可以將陣列想成是一列的值、一欄的值,或是一列值以及一欄值的組合。 在上例中,用於我們的 SORTBY 公式的陣列是源自於範圍 D2:E9。
  • SORTBY 函數將傳回一個陣列,如果其為公式的最終結果則將溢出。 這表示,當您按 ENTER 時,Excel 將動態建立適當大小的陣列範圍。 如果支援資料是在 Excel 表格,而您使用了結構化參照,則您從陣列範圍新增或移除資料時,陣列會自動調整大小。 如需詳細資料,請參閱溢出陣列行為 (機器翻譯)。
  • Excel 對活頁簿之間的動態陣列提供有限支援,只有同時開啟活頁簿時才支援這種情況。 如果你關閉原始碼工作簿,任何連結的動態陣列公式在重新整理時都會回傳 #REF! 錯誤

範例

將表格先按照地區以遞增順序來排序,然後按照每個人的年齡以遞減順序來排序。

先按地區從小排序表格,再依年齡由細排序。

使用 SORTBY 搭配 RANDARRAY 和 COUNTA 以任意排列值的清單。 在此例中,E2# 是指從 E2 儲存格開始的動態陣列範圍,是使用 =SEQUENCE(10) 產生。 # 符號稱為溢出範圍運算子

使用 SORTBY 搭配 RANDARRAY 和 COUNTA。在此例中,E2# 是指從 E2 開始的整個範圍,是使用 =SEQUENCE(10) 來產生。# 符號稱為溢出範圍運算子。

使用 SORTBY 按照高溫來排序溫度和雨量值的表格。

使用 SORTBY 按照高溫來排序溫度和雨量值的表格。

錯誤條件

  • by_array 引數必須為一列高或一欄寬。
  • 所有引數必須為相同大小。
  • 如果排列順序引數不是 -1 或 1,公式將導致 #VALUE! 錯誤。 如果您省略排序次序引數,Excel 會預設為遞增順序。

需要更多協助嗎?

你隨時可以向 Excel 技術社群 的專家詢問,或在 社群中獲得支援。