Board logo

標題: 如何找出重複資料 [打印本頁]

作者: enoch    時間: 2013-12-21 10:45     標題: 如何找出重複資料

我只會在每行資料旁用COUNTIF 計算多於1的資料, 再用篩選將重複資料找出
但因為有過萬行資料而會好慢,
請問會有簡單方法可以篩選出重複資料或複製到另一工作表嗎?
請指教
作者: p212    時間: 2013-12-21 14:39

本帖最後由 p212 於 2013-12-21 14:50 編輯

回復 1# enoch
如圖,儲存格A2-A17含有重複資料,於儲存格B2輸入陣列公式:
=IFERROR(INDEX(A:A,MATCH(0,COUNTIF(B$1:B1,$A$1:$A$17),)),"")
向下複製公式即可找出分布於儲存格A2-A17的唯一值,請參考!
作者: GBKEE    時間: 2013-12-21 14:54

回復 1# enoch
如2#的圖示 第一個工作表 篩選不重複的資料 (Unique:=True) 到第2個工作表
  1. Option Explicit
  2. Sub Ex()
  3.     Sheets(1).Range("A1:A17").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Sheets(2).Range("A1"), Unique:=True
  4. End Sub
複製代碼

作者: ML089    時間: 2013-12-22 23:00

用COUNTIF很慢
建議用 進階篩選 - 勾選 不重複資料 - 勾選 複製到其他地方
作者: enoch    時間: 2013-12-23 09:49

多謝各位前輩指教, 但若果我想找出那些資料是重複呢?
因重複代表了資料輸入出錯, 若果發現重複, 找出重複資料
請再指教
作者: ML089    時間: 2013-12-24 12:53

排序後再處理會比較快
如有萬筆資料,用COUNTIF會很慢,建議先用排序後再處理會比較快

例如 A欄 排序後
於 B2輸入公式 =IF(OR(A2=A1,A2=A3),1,0) 點右下黑方點往下全部複製
1表是重覆,0表示沒有重覆
作者: ML089    時間: 2013-12-24 12:59

如果不排序

B2 =IF(MATCH(A2,A:A,)=ROW(),0,1)
0表示沒有重覆,1表是有重覆

但此公式只是標示第二筆以後重覆資料為 1 ,進行篩選 1 後,一般直接刪除,或剪下貼至他欄
作者: ML089    時間: 2013-12-24 13:02

回復 6# ML089


排序後再處理會比較快
如有萬筆資料,用COUNTIF會很慢,建議先用排序後再處理會比較快

例如 A欄 排序後
於 B2輸入公式 =IF(OR(A2=A1,A2=A3),1,0) 點右下黑方點往下全部複製
1表是重覆,0表示沒有重覆
   
以上重複項全部標示為 1

若需要第二項以後重覆標示為1時
B2 =IF(A2=A1,1,0)





歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)