數據分析-Excel知識點備忘-(2)排序

排序可以讓海量的數據變得一目瞭然,不過我們平時使用的簡單排序只是發掘了排序的一丁點價值而已。本文總結一下排序的“騷操作”。

一、按行排序

當我們的數據是類似於每個月銷售額每個類別表現時,我們可能想要將數據進行“行排序”,如下圖。我們可能需要將月份按照成交數總計進行排序,成交數最高的排在最前面。步驟如下圖。

 

二、自定義序列

有時我們需要將職位、職稱、地區等按照我們人類的思維去進行排序,就需要手動添加排序系列。

 

三、對混合文本進行排序 

對於文本與數字組合的形式,排序的規則比較複雜,如下圖,A列編碼是由字母和數字組合而成,現在我們對A列進行升序排序,發現排序後的結果並沒有按照我們想象的(先按字母升序,然後按照數字大小升序)。

這是因爲:字母和數字組合之後,在Excel中就變成了文本格式,排序的規則是:一個字符一個字符進行排序。因此,直接對A列進行排序的過程是這樣的:①先對第一個字符(也就是字母進行排序)②再對第二個字符進行排序③第二個字符顯然的結果是“A7>A10”,因此出現“錯誤”的排序,然後對第三個、第四個字符進行排序……因此,如果數字的位數不一樣,排序就會出錯。

爲了解決這一問題,我們可以通過增加輔助列,構造0佔位符,使數字部分的位數一致。

在C2單元格中寫入公式=LEFT(A2,1)&TEXT(RIGHT(A2,LEN(A2)-1),"000"),構建輔助列。

  • LEFT(A2,1):是提取原編碼中左端的字母;
  • RIGHT(A2,LEN(A2)-1):是提取原編碼中的數字;
  • TEXT(RIGHT(A2,LEN(A2)-1),"000"):將提取出來的數字變爲三位數的顯示形式,不足的位數用0補齊。
  • 然後對C列進行升序排序,這樣就達到了我們想要的效果。

三、合併單元格排序

此部分來源(公衆號:精進Excel

如圖,需要對每個地區的產品單價進行排序。當我們鼠標單擊C列的單元格,然後進行排序時,會有錯誤提示:若要執行此操作,所有合併單元格大小相同。遇到這種情況如何進行排序呢?

思路:首先分析下“若要執行此操作,所有合併單元格需大小相同”,這句話表達的意思是說“北京”“成都”“大連”等是由三個單元格合併而來的,而其他的並不是由合併單元格來的。所以出現了單元格大小不同的情況。

因此排序時,只能對A列以外的數據進行排序。

爲了不出現北京區域的數據跑到其他區域,需要把表數據分爲三個塊:北京,成都和大連。

這種排序也被稱爲“組內排序”

因此,若增加一個輔助列,每一個區域的數字大小是一個數量級,比如北京的輔助列數字大小爲10000+,成都的輔助列數字大小爲20000+,大連的輔助列數字大小爲30000+。

那麼,無論如何排序,每一個區域的產品都是連在一起的。

這樣就保證了在合併單元格的情況下進行組內排序。

需要藉助輔助列和函數COUNTA函數。

COUNTA函數是計算區域中非空單元格的個數。如圖在輔助列輸入公式=COUNTA($A$2:A2)*10∧4+D2,並向下複製填充。

這樣公式在向下複製填充的過程,COUNTA($A$2:A2)引用的單元格區域逐漸擴大,每跨過一個合併單元格,結果就會增加1,因此整個公式就構造出了一組不同數量級的數值。

最後,選擇數據區域(框選B-F列的數據),進行排序即可順利實現組內排序。排序結束後,刪去輔助列的數據即可。

含有合併單元格的數據,無法直接進行排序。需要藉助輔助列的數據進行排序。

四、進行分類彙總前需要先進行排序

五、工資條製作

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章