SORTBY 函數

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

您的瀏覽器不支援視訊。

附註: 此函數目前可供目前通道 Microsoft 365 訂閱者使用。 從 2020 年 7 Microsoft 365 起,Semi-Annual訂閱者可以使用。 有關功能如何向訂閱者推出 Microsoft 365 ,請參閱何時取得 Microsoft 365 的新功能。

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

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

=SORTBY (陣列、by_array1、[sort_order1]、[by_array2、sort_order2],...)  

引數

說明

array

必要

要排序的陣列或範圍

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 技術社群中的專家,或是在 Answers 社群取得支援。

另請參閱

FILTER 函數

RANDARRAY 函數

SEQUENCE 函數

SORT 函數

UNIQUE 函數

Excel 中的 #SPILL! 錯誤

動態陣列與溢出陣列行為

隱含交集運算子:@

需要更多協助?

增進您的 Office 技巧
探索訓練
優先取得新功能
加入 Office 測試人員

這項資訊有幫助嗎?

×