Office365新增函數Sort,秒殺Rank和Sumproduct,你會用嗎?

excel函數公式 發佈 2022-12-06T04:39:26.153062+00:00

在Excel中,要對指定的值進行排序,用到最多的應該是Rank函數,其次應該是Sumproduct函數,Rank函數通常稱之為「美式排名」、而Sumproduct函數通常稱之為「中國式排名」。在Office365中,新增了Sort函數,其功能可以秒殺Rank和Sumproduct函數。

在Excel中,要對指定的值進行排序,用到最多的應該是Rank函數,其次應該是Sumproduct函數,Rank函數通常稱之為「美式排名」、而Sumproduct函數通常稱之為「中國式排名」。在Office365中,新增了Sort函數,其功能可以秒殺Rank和Sumproduct函數。


一、Sort函數功能及語法結構。

功能:對指定範圍內的數據或數組進行排序。

語法結構:=Sort(數組或數據區域,[主要關鍵字的行數或列數],[排序模式],[排序方式])。

解讀:

1、參數「主要關鍵字的行數或列數」是指在指定的「數組或數據區域」中以此列或此行為主要關鍵字進行排序,而此列在指定的「數組或數據區域」中所處的相對列數或行數。預設情況下為第1行。

2、參數「排序模式」有2個值,分別為1和-1,分別對應「升序」或「降序」模式。預設情況下為升序。

3、參數「排序方式」有2個值,分別為TRUE或FALSE,TRUE表示按列排序,FALSE或預設該參數時表示按行排序。

4、當預設「主要關鍵字的行數或列數」、「排序模式」和「排序方式」時,表示將指定「數組或數據區域」中的第1列的值按升序排序。


二、Sort函數應用技巧。

(一)單欄位排序。

1、對「月薪」升序排序。

方法:

在目標單元格中輸入公式:=SORT(G3:G12)。

解讀:

從結果中可以看出,Sort函數和Rank、Sumproduct函數的排序結果是有很大的區別的,並不是返回該值在指定範圍中的相對位置,而是對數據源中的值按照指定的方式進行了重排。


2、對「月薪」降序排序。

方法:

在目標單元格中輸入公式:=SORT(G3:G12,,-1)。

解讀:

1、如果要對指定的值降序排序,就要指定「排序模式」,當值為-1時,表示降序排序。

2、學習到此處部分親可能已經有了疑問,只是對「月薪」排序,其它列的值未發生變動,導致數據不匹配,沒有實際意義,沒有應用場景……

從當前的結果看,確實是這樣,但是我們仔細研讀Sort函數的功能及語法結構就會發現,第一參數時「數組或數據區域」,並不是單純的列。我們接著看下面的案例。


(二)多欄位排序。

1、目的:以「月薪」為主要關鍵字進行升序排序。

從「目的」中可以看出,以「月薪」為主要關鍵字,意思就是保持數據的一致性。

方法:

在目標單元格中輸入公式:=SORT(B3:G12,6)。

解讀:

1、公式中的參數「6」指在指定的數據範圍B3:G12中,以第6列的值,即「月薪」為主要關鍵字進行排序。

2、所有行的數據保持了一致變化,和「排序」命令產生的效果一致。


2、目的:以「月薪」為主要關鍵字進行降序排序。

方法:

在目標單元格中輸入公式:=SORT(B3:G12,6,-1)。


(三)混合欄位排序。

目的:以「月薪」為主要關鍵字「降序」排序,以「年齡」為次要關鍵字進行「升序」排序。

方法:

在目標單元格中輸入公式:=SORT(B3:G12,{6,2},{-1,1})。

解讀:

1、公式的意思就是對第6列,即「月薪」列降序(-1)排序,對第2列,即「年齡」升序(1)排序。

2、對指定的列的優先級按照指定的順序依次從左向右執行。


最美尾巴:

從應用案例中可以看出,Sort函數與Rank和Sumproduct函數的排序還是有很大的區別的,Sort函數更貼近於「排序」命令,尤其是「混合欄位」排序功能中體現的更為具體。而Rank和Sumproduct返回的是指定的值在指定範圍中的相對位置。


關鍵字: