天天看點

EXCEL删除重複資料,LOOKUP函數公式和标準功能PK,你喜歡哪一個

作者:和我學辦公軟體

在EXCEL表格裡操作資料的時候,往往需要用到删除重複值,而如何删除一列資料裡的重複值呢?最簡單的辦法當屬标準功能了,選中資料列,點選“資料”頁籤裡的重複值,就可以把重複的資料删除了,但凡事都有例外的情況,如果這列原始資料經常會更新,增加、删除或是修改,那我們就得每改一次原始資料,就得操作一次“删除重複值”,那能不能自動從原始資料裡提取唯一值,不管原始資料如何變化,都能自己更新呢?當然可以,這就需要用到函數公式了。下面我們分别用兩種方法來去除重複值,并看看它們之間的差別吧!

直接删除重複值

如果所示,A列有很多的編号,标記了顔色的都是重複資料,現在我們将資料複制到F列,全選,點選菜單欄上“資料-删除重複值”。

EXCEL删除重複資料,LOOKUP函數公式和标準功能PK,你喜歡哪一個

彈出視窗,選擇列,取消勾選“資料包含标題”,因為F列沒有标題。點選确定。

EXCEL删除重複資料,LOOKUP函數公式和标準功能PK,你喜歡哪一個

彈出删除結果,F列保留了唯一值。

此方法簡單、快,唯一的毛病就是如果A列資料發生了變化後,不會自動更新。

EXCEL删除重複資料,LOOKUP函數公式和标準功能PK,你喜歡哪一個

使用公式提取唯一值

先上函數公式:=LOOKUP(1,0/(COUNTIF($C$1:C1,$A$2:$A$46)=0),$A$2:$A$46)

從公式裡可以看出這裡使用了兩個函數進行了組合,LOOKUP查找函數和COUNTIF計算符合條件的單元格數目。

先看COUNTIF函數,COUNTIF($C$1:C1,$A$2:$A$46)=0,這裡使用COUNTIF函數計算出目前行上方的編号和A列編号是否重複,不重複則傳回0,符合“=0”的條件并傳回邏輯值TRUE,否則傳回FALSE。

在這裡TRUE表示1,FALSE表示0,而用“0/”則遇到FALSE的情況會傳回錯誤值#DIV/0!,因為0不能作為除數,

在使用LOOKUP函數進行查找,

這裡使用了LOOKUP函數的經典用法“LOOKUP(1,0/(條件區域),查詢區域)”

“0/”的目的就是把符合條件的變成0,其餘的變成錯誤值,而LOOKUP函數在查詢的時候會自動忽略錯誤值,如果條件裡隻有一個滿足的,那剛好傳回這個0對應位置所在的資料,如果條件裡有多個滿足,就會傳回最後一個計算出來的0對應位置的資料。

注意這裡的A2:A46作為固定資料源,不管是在COUNTIF還是在LOOKUP函數裡都需要添加絕對引用符号,而COUNTIF裡的第一個參數也需要添加絕對引用固定第一個單元格引用,第二個單元格引用不能添加絕對符号,這樣公式才能往下拉動。

EXCEL删除重複資料,LOOKUP函數公式和标準功能PK,你喜歡哪一個

選中單元格,往下拖動公式,直到傳回“#N/A”錯誤值。上方的編号就是從A列提取出來的唯一編号,因為LOOKUP多個符合條件的記錄是傳回最後一條的資料,故唯一值的順序和原始資料的順序是不一樣的。

EXCEL删除重複資料,LOOKUP函數公式和标準功能PK,你喜歡哪一個

如果不想把錯誤值符号顯示出來,這裡可以添加一個IFERROR函數在前面,這樣就能将錯誤值傳回空白。完整公式為“=IFERROR(LOOKUP(1,0/(COUNTIF($C$1:C1,$A$2:$A$46)=0),$A$2:$A$46),"")”。

公式裡的“1,0/”,可以替換為任意兩個數字,但第一個數字要比第二個數字大即可。

EXCEL删除重複資料,LOOKUP函數公式和标準功能PK,你喜歡哪一個

修改A列的資料,C列會自動重新計算,自動更新。

EXCEL删除重複資料,LOOKUP函數公式和标準功能PK,你喜歡哪一個

最後,我們再來總結下:

如果隻是簡單的想要删除重複資料,使用标準的菜單功能,簡單好用。

如果需要自動更新的提取唯一值,使用函數公式,儲存下來,不了解也能套用,隻需要修改裡面的單元格引用位址即可。

EXCEL删除重複資料,LOOKUP函數公式和标準功能PK,你喜歡哪一個

繼續閱讀