在一個excel表格中,在沒有經過辦公人員處理下經常會出現一個或者多個重復值,辦公人員需要進行整理和挑選重復值刪除,那么有些新人不懂刪除重復值怎么辦?不用著急,下面小編會給大家普及下Excel中查找和刪除重復值的教程。
㈠查找重復值
方法一:輔助列+公式法
在A列的右側插入輔助列,在輔助列中輸入公式來確定區域中的重復值。
1.在B2單元格中輸入公式
=IF(SUMPRODUCT(–(A2=$A$2:$A$21))》1,“重復”,“”)
或:
=IF(COUNTIF($A$2:$A$21,A2)》1,“重復”,“”)
然后雙擊B2單元格右下角的填充柄,公式將自動填充到B3:B21區域。這時可以看到A列中的重復值對應在B列中都顯示為“重復”。
方法二:條件格式法
Excel 2003:
1.選擇A2:A21區域,單擊菜單“格式→條件格式”。
2.彈出“條件格式”對話框,在對話框左側的下拉列表中選擇“公式”,在右側的文本框中輸入公式:
=SUMPRODUCT(–(A2=$A$2:$A$21))》1
或:
=COUNTIF($A$2:$A$21,A2)》1
單擊“格式”按鈕,在彈出的“單元格格式”對話框中選擇“圖案”選項卡,選擇某種顏色,單擊“確定”。
3.單擊“確定”,Excel將包含重復值的單元格用所選顏色標記出來。
Excel 2007:
選擇區域A2:A21,然后單擊功能區“開始→條件格式→突出顯示單元格規則→重復值”,在“重復值”對話框中單擊“確定”。
可以看到所有重復的姓名都用淺紅色標記出來。
㈡刪除重復值
方法一:利用高級篩選
1.單擊菜單“數據→篩選→高級篩選”。
2.在“高級篩選”對話框中,選擇“將篩選結果復制到其他位置”,并且勾選“選擇不重復的記錄”,單擊“列表區域”文本框右側的按鈕,選擇區域A2:A21,表示需要篩選的數據區為A2:A21,同樣,將“復制到”區域設置為$C$2,如圖。
3.單擊“確定”。Excel將把篩選后的結果放置到C2:C18中,去掉了其中的3個重復值。
方法二:利用數據透視表
1.選擇A1:A21區域中的任意單元格,單擊菜單“數據→數據透視表和數據透視圖”,然后直接單擊“下一步”按鈕,在3步驟之2中可以看到“選定區域” 已自動設置為“Sheet1!$A$1:$A$21”,再次單擊“下一步按鈕”,在3步驟之3中,選擇“現有工作表”,區域選擇C2單元格,然后單擊“完 成”按鈕。
2.在“數據透視表字段列表”中,選擇“神雕人物名單”,用鼠標左鍵將其拖至行字段區域,或直接單擊“添加到”按鈕。
3.可以看到Excel已自動將重復值去掉,并拼音順序將名單排好了。
方法三:用Excel 2007中的“刪除重復項”功能
選擇A2:A21區域,單擊功能區“數據→刪除重復項”,在“刪除重復項”對話框中單擊“確定”。
Excel 2007自動將重復值刪除,并給出提示。
方法四:輔助列+合并計算
利用Excel中的合并計算功能刪除重復值,該方法不僅適用于一列數據,還能合并不同工作表中的多個單列數據并去掉合并后的重復項。以Excel 2003為例介紹如下:
1.由于數據在A列,以其右側的B列為輔助列。在B列對應A列數據區域中的任一單元格中輸入一個數值,以便Excel進行合并計算。如在B8輸入一個數值“2”。
2.本例將刪除重復值的數據將放置在D列,選擇D2單元格。單擊菜單“數據→合并計算”,彈出“合并計算”對話框。單擊“引用位置”下的文本框,選擇 A2:B21區域,單擊“添加”按鈕,將該區域添加到“所有引用位置”下方的區域中。在“標簽位置”下勾選“最左列”,“函數”下方的選項保持默認的“求 和”即可。
如果要合并多列去重復,繼續選擇其他列并單擊“添加”按鈕。
3.單擊“確定”,可以看到Excel刪除A列中的重復值并將數據放置到D2:D18區域。
方法五:用VBA
這兩段VBA代碼分別運用了Scripting.Dictionary和Collection對象,并利用了其元素具有唯一性的特點。
1.用Scripting.Dictionary對象:
Sub Uniquedata()
Dim Cel As Range, Res
‘創建對象
Set d = CreateObject(“Scripting.Dictionary”)
’遍歷數據區域的單元格
For Each Cel In Range(“A2:A21”)
‘判斷單元格內容是否為空
If Cel 《》 “” Then
’如果字典對象中不包含同樣的對象就添加該對象
If Not d.exists(Cel.Value) Then d.Add Cel.Value, Cel.Value
End If
Next
Res = d.Items
‘將對象中的元素寫入工作表
For i = 0 To d.Count – 1
Cells(i + 2, 3) = Res(i)
Next i
End Sub
2.用Collection對象:
Sub Uniquedata1()
Dim myList As New Collection, Cel As Range, itm, i As Integer
On Error Resume Next
’遍歷數據區域的單元格
For Each Cel In Range(“A2:A21”)
‘判斷單元格內容是否為空
If Cel 《》 “” Then myList.Add Cel.Value, CStr(Cel.Value)
Next
On Error GoTo 0
i = 1
’將非重復值寫入工作表
For Each itm In myList
Cells(i + 1, 3) = itm
i = i + 1
Next
End Sub
以上內容便是Excel中查找和刪除重復值的教程了,大家學會了嗎?可以關注教程之家,里面有更多精彩的教程哦。