Excel如何篩選出重複的數據?
例如,abc三列,如何篩選出在abc三列中都出現過的數據?
一、函數法
D2=AND(COUNTIF(A:A,A2)&>0,COUNTIF(B:B,A2)&>0,COUNTIF(C:C,A2)&>0),D列返回TRUE的A列的對應值就是三列都出現的值。



二、POWERQUERY
三列分別導入powerquery



前兩個表先進行合併查詢,inner join。


刪除不需要的列後得到兩者中均包含的值。


再和第三表合併查詢,得到三表均包含的值。

三、條件格式
選中A2:C7,條件格式中設置公式為=AND(COUNTIF(A:A,A2)&>0,COUNTIF(B:B,A2)&>0,COUNTIF(C:C,A2)&>0),背景色設為紅色。A列返回紅色的單元格就是三列都出現的重複值。

用sql一句搞定,先給各列取名數據a、數據b、數據c,工作表名取為數據。語句如下:select 數據c from [數據$] where 數據c in(select 數據b from [數據$] where 數據b in(select 數據a from [數據$]))
更新說明!
今天看到500多人閱讀,15人已經收藏了,有點小激動,看看寫的內容突然發現不對。。。本著知錯就改的精神,在此重新回答問題
之前的回答,回答的是找到3張表去除重複值後的效果。和提問者所需要的有出入。。。
之前回答的時候,想著重複列,重複列就把重複列刪了。。。
ok來解題
題目是:「找出ABC三列里都出現過的數據」
思路通過兩次「合併查詢」來實現。這裡不能使用「條件格式」後面會講為什麼
- control + T 建表
2. 點中表格,在「數據」中選取「自表格」


3. 導入另外兩張表



4. 點擊「合併查詢」里的「將查詢合併為新查詢」,開始找「表1」和「表2」里的重複數據



5.右鍵改名,右鍵刪除列(放心列刪除不會影響數據)


6. 再次「合併查詢」,將「表3」數據拉入,做「內部」聯接




7. 右鍵改名,刪除列


8. 關閉並上載,來做下驗證


這裡是文件,供大家把玩~
PQ里的數據會根據你原表的變化而變化,所以是個全自動的。
如果數據有變,按一下「更新」即可
關於為什麼不能用「條件格式」:
條件格式給出的答案是這樣的一個模式,而我們所要的只是下面「綠色區域」的數據
要用PQ實現,請繼續往下看。


方法:
1 找出表12的重複值和非重複值
1.01 CTRL+T建表


1.02 點中表格,在「數據」中選取「自表格」


1.03 右鍵查詢導入另外兩張表



1.1 表12的重複值
1.11. 在「合併查詢」里選擇「將查詢合併為新查詢」


1.12. 通過下來菜單選出「表1」和「表2」,點擊需要的「數據列」,選擇「內部」
#「內部」是指兩個表中相同的數據


1.13. 在新表右鍵改名字,然後右鍵「表2」刪除列(不需要了)


1.2 表12的非重複值
1.21. 同上,但是這次選「外部」
#即:兩張數據列表的數據做並排對比


效果、點畫圈圖標展開表2,點確定




1.22. 利用「條件列」做篩選,我們要的是把「表1」和「表2.表2」的數據展示為1,為其後面做篩選提供支持


效果、


1.23. 點擊小箭頭,選擇「null」,我們要「表1」和「表2.表2」裡面沒重複的數據


1.24. 右鍵刪除列,「表12的非重複值」已經完成了他的使命,放心數據不會變動


1.25. 通過「Control」鍵來選擇「表1」和「表2.表2」單擊「合併列」



效果、


2 「表3」與「表12的非重複值」 的重複數據 ==》命名「表A」來表示
2.01 合併查詢


2.02 選「內部」,我們要的是「表3」和「表12的非重複值」里的重複數據


2.03 右鍵改名,右鍵刪除多餘列


3「表3」與「表12的重複值」 的重複數據 ==》命名「表B」來表示
3.01 合併查詢,用「內部」找出「表3」與「表12的重複值」 的重複數據


3.02 右鍵改名,右鍵刪除多餘列


4 合併所有的數據,做匯總(回顧之前)


4.11 點擊「追加查詢」的「將查詢追加為新查詢」


4.12 點擊「三個或更多表」的「雙擊要加入的表」


4.13 右單擊,合併列



4.13 在「刪除行」中點擊「刪除重複列」


4.13 更改數據類型為「數字」(因為,提問者給的是數字。。。)


4.14 有強迫症的可以按排序


5. 搞定,點擊「關閉並上載」


5.1清理工作,刪除底下多餘的sheet,這裡刪除並不代表PQ裡面也會刪除,請大家放心


最終效果圖(順便用「條件格式」來驗證一下)


這裡是文件供大家把玩
數據不規則的話,相同的數據不會排列在同一行,函數的話可能過於麻煩,建議用輔助列+透視表的方法。
每一列數據前面插入一列輔助列,命名 列1 ,列2 ,列3;
然後將列2 數據2、列3 數據3 分別複製到 列1 數據1下面;
插入數據透視表,如果某個數字出現了3次,就是重複數據。
以上,思路供參考。
這個問題啊是三個集合求交集的問題。
如果思路簡便一點那就是先求兩個集合的交集。再用結果和第三個集合進行求交集。
如何求交集呢?
我之前做了一個視頻。不用公式,完全就是點點滑鼠,只要懂得原理
https://mp.weixin.qq.com/s/_qjzbhOEW6RNhQRUuy-jbQ
推薦閱讀:
※在excel中如何快捷將一個4*4帶行列標題的表格轉為對應3*10帶行標題的表格(實際數據多),如圖?
※excel如何做到只刪除數據不刪除公式?
※excel使用各種函數時什麼時候需要絕對引用?
※excel 將一列數據複製到 篩選過的一列上 (需要複製到相對可見的單元格) ?
TAG:MicrosoftExcel | Excel使用 | ExcelHome |

