SORTBY 函數

SORTBY 函數是 Microsoft 365 Excel 提供的 動態陣列函數,可以用來 根據一個或多個條件對範圍或陣列進行排序,比 SORT 函數更加靈活,因為你可以指定多個排序條件,並且可以選擇排序的順序(升序或降序)。


? SORTBY 函數語法

SORTBY(array, sort_array1, [sort_order1], [sort_array2], [sort_order2], ...)
  • array:需要排序的範圍或陣列。
  • sort_array1:用來排序的第一個範圍或陣列,這是依據排序的主條件。
  • sort_order1(可選):排序順序,1 代表升序(預設),-1 代表降序。
  • sort_array2, sort_order2, …(可選):第二個排序條件,依此類推,可以有多個排序條件。

? 作用:根據指定的排序條件(sort_array)對數據進行排序。


? SORTBY 函數應用範例

1️⃣ 基本排序:根據一列進行排序

=SORTBY(A2:A10, B2:B10)

? 效果:根據 B2:B10 進行排序,將範圍 A2:A10 排列成升序。
結果:按 B2:B10 升序排列 A2:A10 中的數據。


2️⃣ 多條件排序:按一列升序,再按另一列降序

=SORTBY(A2:C10, B2:B10, 1, C2:C10, -1)

? 效果:首先根據 B2:B10 升序排列,然後對於相同的 B2:B10 值,再根據 C2:C10 降序排序。
結果B2:B10 升序排列,若 B2:B10 相同,再按 C2:C10 降序排列。


3️⃣ 升序排序

=SORTBY(A2:A10, B2:B10, 1)

? 效果:根據 B2:B10 升序排序 A2:A10
結果A2:A10 中的數據將按 B2:B10 升序排列。


4️⃣ 降序排序

=SORTBY(A2:A10, B2:B10, -1)

? 效果:根據 B2:B10 降序排序 A2:A10
結果A2:A10 中的數據將按 B2:B10 降序排列。


5️⃣ 多條件降序排序

=SORTBY(A2:C10, B2:B10, -1, C2:C10, -1)

? 效果:首先根據 B2:B10 降序排列,然後對於相同的 B2:B10 值,再根據 C2:C10 降序排序。
結果B2:B10 降序排列,若 B2:B10 相同,再按 C2:C10 降序排列。


6️⃣ 排序並篩選結果

=SORTBY(FILTER(A2:B10, B2:B10 > 50), B2:B10, 1)

? 效果:先使用 FILTER 函數篩選出 B2:B10 中大於 50 的數據,再對篩選結果進行升序排序。
結果:返回 B2:B10 大於 50 的範圍並按升序排列。


7️⃣ 根據多列進行排序

=SORTBY(A2:C10, {B2:B10, C2:C10}, {1, -1})

? 效果:首先根據 B2:B10 升序排序,若 B2:B10 相同,則根據 C2:C10 降序排序。
結果:根據兩列的順序進行排序,B2:B10 升序,C2:C10 降序。


? SORTBY 函數與其他函數結合使用

1️⃣ 搭配 FILTER 篩選並排序

=SORTBY(FILTER(A2:B10, B2:B10 > 50), A2:A10, 1)

? 效果:先篩選出 B2:B10 中大於 50 的數據,再根據 A2:A10 升序排序篩選結果。


2️⃣ 搭配 UNIQUE 去除重複並排序

=SORTBY(UNIQUE(A2:A10), A2:A10, 1)

? 效果:去除 A2:A10 中的重複值,並對結果進行升序排序。


3️⃣ 搭配 SORT 排序範圍

=SORT(SORTBY(A2:C10, B2:B10, 1), 3, -1)

? 效果:首先根據 B2:B10 升序排列,然後再根據第3列降序排列整個範圍。


? 總結

SORTBY 函數比 SORT 更加靈活,可以根據多個條件來排序範圍或陣列。
支持多條件排序,你可以指定每個條件的排序順序。
可以與其他函數(如 FILTERUNIQUESORT)結合使用,實現複雜的數據處理。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *