Applies ToExcel for Microsoft 365 Excel for Microsoft 365 for Mac Excel for the web Excel 2021 Excel 2021 for Mac Excel for iPad Excel for iPhone Excel for Android tablets Excel for Android phones

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

您的瀏覽器不支援視訊。 請安裝 Microsoft Silverlight、Adobe Flash Player 或 Internet Explorer 9。

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

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

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

另請參閱

FILTER 函數

RANDARRAY 函數

SEQUENCE 函數

SORT 函數

UNIQUE 函數

Excel 中的 #SPILL! 錯誤

動態陣列與溢出陣列行為

隱含交集運算子:@

Need more help?

Want more options?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。