Excel 多條件排序,原來還可以這麼操作,在手機端也可以秀起來

Excel 多條件排序,原來還可以這麼操作,在手機端也可以秀起來


好久不見。

最近一直在處理數據,偶然之下,我發現了一種不尋常的多條件排序方法,當然這不屬於官方直接提供的功能,而這種方法操作起來不難,只是一開始可能會不太習慣,不過習慣後,操作可以比官方功能更快捷,而且可以輕鬆應用到移動端 APP 的使用。

目前微軟、WPS 或 Apple 的移動端表格處理 APP 均沒有實現多條件排序的功能,有的只是簡單的對單條件排序,而這個方法在這三方均是可以實現的,這將是一個很好的輔助手段。

自定義排序

Excel 中,要根據多個條件進行排序,用自帶的【自定義排序】功能就可以實現了。

以 Excel 2016 為例,先鼠標點擊表格內一非空單元格,通過 開始》排序和篩選》自定義排序

,打開【排序】對話框,選擇好相應的條件,也就是列關鍵字,並調整好排序依據和次序,即可進行排序。

Excel 多條件排序,原來還可以這麼操作,在手機端也可以秀起來


Excel 多條件排序,原來還可以這麼操作,在手機端也可以秀起來

用這種操作的習慣一般是,先選好主要條件(即主要關鍵字),再選擇次要條件(即次要關鍵字)。

多條件排序是處理數據中很常見的一個操作,很多時候都會用得上。如上操作並沒有什麼問題,只是接下來的方法,恐怕要刷新你的認知了。

兩次單列排序

在過去一個來月的日子裡,我每天都要處理數據,每天的數據不算特別多,數據的框架也基本不變,只是每天會有新的數據出現。

在我習慣了前期的處理手法後,我開始探求更便捷的操作,偶然之下,就讓我注意到,實現多條件排序的一個另類的方法——

分別根據兩個條件列數據進行排序

這樣疊加在一起的效果就是多條件排序了。

哈哈,你沒看錯,就是通過普通的單條件排序,來實現多條件排序的結果。

這真的能實現嗎?

嗯,沒錯,經測試,確實可以。

下面,我來進行說明吧。


1. 對次要條件列進行排序

這個方法的第一步就是:

先對次要條件列數據進行排序

(在我處理數據的時候,恰好是要先獨立對次要條件列進行排序,於是我就發現了這個小技巧)

先對次要條件排序,這與自定義排序的習慣不一樣,這就是一開始不習慣的地方,但有意識地去適應,你就會發現這是一種方便、炫酷(zhuang bi)的操作了。

2. 對主要條件列進行排序

第二步就是:

主要條件列的數據進行排序

第二步也是簡單的單列排序,但就是這樣簡單的操作造就了按多列排序的效果。

當然這是基於只有兩個條件的情況而言,如果有更多的條件,那就對第一步的最次要條件的上一位條件列數據進行排序,一直到最後,才對主要條件列進行排序。

所以,這個方法排序操作的順序是:

先次要,再主要

先次要,再主要

先次要,再主要


說三次大概能加深你的印象了。

這其實就是這個方法的關鍵了。

那麼為什麼是這樣的操作呢?

接下來進行解釋。

(能看懂也行,看不懂就照做)


首先,經過第一步,次要條件的一列已經排好序了,這點都可以理解吧;

接著,第二步僅對主要條件一列進行排序,那麼 結果一定首先傾向於主要條件(從普通的單列排序角度去看就好),保證主要條件列是不會錯的;

最後,次要條件列,雖然由於主要條件列的重新排序,而導致變亂序了,但 主要條件相同值對應的次要條件列的數據,則還是會按照先前的順序進行排列的,而不會使之也亂序。

這樣分析的話,就相當於實現了多條件排序的效果了。

看到這裡,你可能有點懵逼,可能沒看懂,特別是最後一點。不用怕,後面我會舉例子說明的。

不過,這裡,我還得為看懂的小夥伴做進一步的解釋。

憑什麼我會認為:

主要條件相同值對應的次要條件列的數據不會重新排序,而是一定按照先前的順序排列著呢?


其實一開始我只是猜想,只是一味地這樣認為,經測試卻發現符合猜想,而且接下來我每天繼續處理的數據都沒有出現問題,基本可以認為這種做法是可行的。

當然測試是無法窮盡所有可能的,而我個人認為是沒有問題的,所以同意這一做法的,儘管可以去操作。

那麼為什麼會這麼想呢?

很簡單,基於算法的優越性

我曾經對編程有點接觸,排序的算法是一個很基礎的內容,排序就是一個又一個數值位置的交換,直到最後排好序,而可以實現排序的算法很多。實際上,一般,計算機運算步驟越少,計算越快,人們追求的當然是日益高效,而不是冗餘的步驟。

回到上面說到的,對於已經根據次要條件排好序的數據,對應的主要條件的值相同的部分,根本可以不必交換順序了,這樣做已經是多餘的步驟了。

一個優秀的算法,應該還是要避免這樣的情況發生的,這一點點操作對現在強大的計算機而言似乎沒什麼影響,但當處理的數據足夠多,影響就會變得顯著。

雖然我是想這麼說的,但是,這其實還得看具體的算法是什麼,有的算法確實可能會發生看上去不必要的位置互換的情況,但不一定就是低效。而事實上,我無法得知 Excel 裡具體用的什麼算法。

恰巧的是,經過了測試,發現我的想法是可實行的。

說了那麼多,歸根到底就是:

基於少許的經驗,對存在的可能性,進行了嘗試,爾後,確認了可能性

輔助小技巧

方法是有了,但要讓這個方法達到更高的效率,需要再利用Excel的一個小技巧——【把常用命令添加到快速訪問工具欄】

這個操作非常簡單,而且一勞永逸,添加後,某些命令可以更快捷地使用。

這裡我需要把【升序】和【降序】這兩個命令添加進去。點開【排序和篩選】,分別右鍵點擊【升序】和【降序】,選擇【添加到快速訪問工具欄】即可。這樣就可以在工具欄看到相應的圖標了。

Excel 多條件排序,原來還可以這麼操作,在手機端也可以秀起來


Excel 多條件排序,原來還可以這麼操作,在手機端也可以秀起來


舉個例子

如下作一簡單的例子。

數據:一列是水果名,包括蘋果、香蕉、橙子、水蜜桃、西瓜、柚子,部分水果有多次數據;一列是相應水果的數量

排序:以水果名為主要關鍵字,數量列為次要關鍵字,進行多條件排序,均按升序排序。

表格左側表格是利用兩次單列排序方法測試數據,右側表格是利用Excel自帶的【自定義排序】功能進行排序的的結果。

隨機數列:用於生成隨機數的序列,其作用是打亂左側表格;每次通過排序打亂後,由於隨機數會重新生成,所以可以多次打亂。

匹配結果:,當【自定義排序】與【兩次單列排序】同一行水果名及數量完全一致時,顯示為【√】,其他情況顯示為【×】。

操作

① 打亂左側表格

鼠標定位到隨機數列任一隨機數上,點擊快速工具欄上的升序按鈕進行快速排序。

(一個小技巧:鼠標不要直接選擇整列數據,不然會彈出【排序提醒】對話框,這樣就慢了,如下)


Excel 多條件排序,原來還可以這麼操作,在手機端也可以秀起來



② 兩次單列排序

先後對【數量】列和【水果】列進行升序排序,操作如上。

(整個測試過程)



Excel 多條件排序,原來還可以這麼操作,在手機端也可以秀起來


可見,兩種操作獲取的結果是一致的,多次嘗試也無異常。

不考慮隨機數打亂順序,僅【四次點擊】,就完成了排序,有沒有酷酷的感覺呢?以此類推,多一列條件,就多兩次點擊,這要比自定義排序節省一點操作。

在【WPS office】上同樣可以用這種方法,但是 WPS 目前的快速訪問工具欄還不允許添加升序或降序命令,所以提速不明顯。

不過,在移動端,不管是 Microsoft Excel,還是 WPS Office,或是蘋果的 Numbers,經測試,這都是一個可應用的方法。所以,以後,即便只有手機,也能做到更多的事情。

附:這裡有個注意的地方,如果手機設置語言為英文,那麼 Excel 排序的時候,會出現奇怪的結果。想要恢復正常,需要把語言調回中文。

總結

  1. 多條件排序是一個很常見的需求,【自定義排序】是基本的做法;
  2. 分別對單列進行排序,可以實現多條件排序的效果;
  3. 通過快速訪問工具欄可以更好地體現這種方法的優勢;
  4. 最後一個水果數據的例子。



希望本文對您有所幫助


分享到:


相關文章: