當excel有很多數據,而且有很多是重複數據的時候,如何快速提取不重複值就成為了需要解決的難題!

如圖中案例,A列是學校的列表,由於很多學員都出自同一所大學,所以就會有很多重複的。現在,需要提取不重複的學校列表,也就是E列這樣的最終效果,你會怎麼做呢?
這裡,加薪學院提供2個經典用法,分別適用手動和自動兩個場景。
一、用功能操作,適用於固定數據
手動操作的前提,是這個數據是固定的,不再會變動,即這個操作只對目前已經錄入的A2:A12有效,如果繼續在A13開始錄入的話,這個方法就不適用了。
首先,選中A2:A12區域,複製到空白處粘貼,然後點擊「菜單欄-數據-刪除重複值」:

在彈窗的界面框里確認信息,點擊確認。

然後,excel就直接將重複值刪除掉,只保留一個選項,最終得到了圖中4個結果的唯一值。
二、寫函數公式,適用於變化數據
如果A列數據是變化的,那麼就最好用函數公式,這裡就要用到數組公式。(當然,固定數據更是同樣可以使用)

首先,這是一個數組公式:
=IFERROR(INDEX(A2:A100,SMALL(IF(IFERROR(MATCH($A$2:$A$100,$A$2:$A$100,0),9999)=ROW(A2:A100)-1,ROW(A2:A100)-1),ROW(A2:A100)-1)),””)
由於不知道A列最多會有多少個唯一項(因為數據後面還可以再添加),所以E列放置數組公式的單元格要多選一些,我這裡是以100行的數據做案例,即對A列100行的數據(還可以繼續輸入80多行數據)進行自動查詢不重複值,E列最多顯示100行。
當然,這個數字100可以在公式里直接修改擴大,我這裡只是做個示例。
現在我們來分解一下這個公式:
第一部分
IF(IFERROR(MATCH($A$2:$A$100,$A$2:$A$100,0),9999)=ROW(A2:A100)-1,ROW(A2:A100)-1)
這裡首先是用match函數獲得A列唯一值的位置編號

MATCH($A$2:$A$100,$A$2:$A$100,0)
因為match如果找到a3、a4這些單元格的值,會在a2單元格這裡就結束了,返回a2單元格的位置編號,所以就過濾掉了重複值,只有1、4、7、10這幾個唯一值的位置編號。
IFERROR(MATCH($A$2:$A$100,$A$2:$A$100,0),9999)
然後,match函數外面套用一個iferror函數,是為了避免A列的空單元格造成影響,如果是空單元格,全部返回9999,到時候取值的時候忽略掉這些9999即可。
IF(IFERROR(MATCH($A$2:$A$100,$A$2:$A$100,0),9999)=ROW(A2:A100)-1,ROW(A2:A100)-1)
接著將位置編號和行號做對比,兩者相等的情況下保留,由於是從a2單元格開始,所以行號要減去1。

這樣,第一部分的結果就如圖中C列所示,只有1、4、7、10這四個數字。
然後,第二部分用small函數取出來就好懂了,第三部分再用index取出對應的內容,第四部分再用iferror函數過濾掉錯誤值。

最後,我們測試一下:將A6單元格修改了個新的名稱,在A13單元格增加了個新的名稱,函數部份沒有動,E列就自動跟著改變了~
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/268545.html
微信掃一掃
支付寶掃一掃