Excel使用函式公式如何對多列資料進行自定義排序?

對資料進行自定義排序,這本來屬於排序功能的重要作用之一,也是excel必會操作的技巧之一,但如果需要不變動源資料的前提下來作排序, 則需要使用公式進行多列資料的自定義排序。

自定義排序操作如下動圖所示:

Excel使用函式公式如何對多列資料進行自定義排序?

如下表中,對三列資料依次進行降序排序,按照自定義排序的條件順序,即線材規格是主排序條件,標準線材長和拆算支數是次要排序。

Excel使用函式公式如何對多列資料進行自定義排序?

關於使用公式來對多列資料區域進行排序,我們在上節《

Excel根據指定條件進行大小排序的條件排序公式寫法詳解

》中介紹了幾個公式的寫法,但這幾個公式是完全不同的作用:

第一個公式是large函式做降序排序。

Excel使用函式公式如何對多列資料進行自定義排序?

第二個公式是large組合if函式的條件排序。

Excel使用函式公式如何對多列資料進行自定義排序?

第三個公式是vlookup組合if函式的多關鍵字查詢引用。

Excel使用函式公式如何對多列資料進行自定義排序?

同一個場景使用了三個不同的函式公式,雖然能夠活躍童鞋們的解題思維,但畢竟不是更優解,因此今天作者來介紹一個更直接的解題函式,能夠透過這個函式公式快速返回自定義排序後的資料結果。

我們仍然以該資料表為例,首先新建一個標題行,然後在下方單元格輸入公式:

=SORTBY(A2:C38,A2:A38,-1,B2:B38,-1)

Excel使用函式公式如何對多列資料進行自定義排序?

這個函式叫sortby,屬於excel365版本更新的一個查詢引用函式。不過我們在wps表格中也可以找到應用這個函式!

它的作用是對一個數據區域進行自定義排序。

其語法圖如下所示:

Excel使用函式公式如何對多列資料進行自定義排序?

表示式為:

=sortby(引用區域,排序列1,排序型別,排序列2,排序型別……)

第1引數是引用區域,即源資料或者說需要進行排序的資料區域;

第2引數是第1個排序依據,

也成為排序條件,同時也可以通俗地叫做第1個排序列,它

可以視為自定義排序中的主要關鍵排序條件

第3引數是排序型別,即升序和降序,如果是升序,則輸入引數值1,降序則輸入引數值-1;

第4引數是第2個排序依據,也就是次要條件;

第5引數是第2個排序列的排序型別;

之後引數可以迴圈設定更多的排序列。

回到公式,我們套入表示式來理解。

第1引數引用區域是整個源資料表區域,第2引數主要排序列,則是A列的線材規格,它是我們首要排序的內容,然後第3引數設定為-1,即降序排序。

接著第3引數的第2個排序列設定為B列線材長,排序型別為降序。

而對C列拆算支數的排序,作者省略了公式第3個排序列的設定,這是因為資料表中已經顯示C列是唯一值,在同一線材規格和線材長度下只有一個支數資料,因此可以省略這個排序列的引數輸入。

當然,我們也可以在公式中新增上第3個排序列,結果是一致的。

理解公式含義後,

我們還要注意一個要點,

sortby函式是一個輸入陣列結果的函式,因此要切記進行三鍵執行公式

,同時,由於wps表格不支援動態陣列,或者叫不支援陣列結果溢位,因此我們需要

首先拉取需要填充公式的單元格區域,然後點選編輯公示欄進入公式編輯狀態,再按下三鍵進行陣列運算!

Excel使用函式公式如何對多列資料進行自定義排序?

學會sortby函式,在對資料進行多列的自定義排序時,是非常快捷和簡單的。

此外我們還有一個sort函式,也是對資料進行排序,但它更多用於以某列為排序依據來進行資料排序。