Applies ToMicrosoft 365 Excel Mac 版 Microsoft 365 Excel Excel 網頁版 Excel 2021 Mac 版 Excel 2021 iPad 版 Excel iPhone 版 Excel Android 版 Excel 平板電腦 Android 版 Excel 手機

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! 錯誤

動態陣列與溢出陣列行為

隱含交集運算子:@

需要更多協助嗎?

想要其他選項嗎?

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

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