方法一:利用高級篩選
1.單擊菜單“數(shù)據(jù)→篩選→高級篩選”。
2.在“高級篩選”對話框中,選擇“將篩選結(jié)果復(fù)制到其他位置”,并且勾選“選擇不重復(fù)的記錄”,單擊“列表區(qū)域”文本框右側(cè)的按鈕,選擇區(qū)域A2:A21,表示需要篩選的數(shù)據(jù)區(qū)為A2:A21,同樣,將“復(fù)制到”區(qū)域設(shè)置為$C$2,如圖。
3.單擊“確定”。Excel將把篩選后的結(jié)果放置到C2:C18中,去掉了其中的3個重復(fù)值。
方法二:利用公式和排序
利用COUNTIF函數(shù)來確定區(qū)域中的重復(fù)值。
1.在B2單元格中輸入公式“=COUNTIF(A$1:A1,A2)=0”,然后雙擊B2單元格右下角的填充柄,公式將自動填充到B3:B21。這時可以看到排在后面的重復(fù)值在B列中都顯示為“FALSE”。
方法三:利用數(shù)據(jù)透視表
1.選擇A1:A21區(qū)域中的任意單元格,單擊菜單“數(shù)據(jù)→數(shù)據(jù)透視表和數(shù)據(jù)透視圖”,然后直接單擊“下一步”按鈕,在3步驟之2中可以看到“選定區(qū)域”已自動設(shè)置為“Sheet1!$A$1:$A$21”,再次單擊“下一步按鈕”,在3步驟之3中,選擇“現(xiàn)有工作表”,區(qū)域選擇C2單元格,然后單擊“完成”按鈕。
2.在“數(shù)據(jù)透視表字段列表”中,選擇“神雕人物名單”,用鼠標(biāo)左鍵將其拖至行字段區(qū)域,或直接單擊“添加到”按鈕。
3.可以看到Excel已自動將重復(fù)值去掉,并拼音順序?qū)⒚麊闻藕昧恕?/font>
方法四:用Excel 2007的條件格式
1.選擇區(qū)域A2:A21,然后單擊功能區(qū)“開始→條件格式→突出顯示單元格規(guī)則→重復(fù)值”,在“重復(fù)值”對話框中單擊“確定”。
3.選擇一個重復(fù)的姓名,再次單擊鼠標(biāo)右鍵,選擇“排序→將所選單元格顏色放在最前面”,Excel將把重復(fù)的姓名自動排在最上面以便查看。
方法五:用Excel 2007中的“刪除重復(fù)項”功能
選擇A2:A21區(qū)域,單擊功能區(qū)“數(shù)據(jù)→刪除重復(fù)項”,在“刪除重復(fù)項”對話框中單擊“確定”。
Excel 2007自動將重復(fù)值刪除,并給出提示。
方法六:用VBA
這兩段VBA代碼分別運用了Scripting.Dictionary和Collection對象,并利用了其元素具有唯一性的特點。
1.用Scripting.Dictionary對象:
Sub Uniquedata()
Dim Cel As Range, Res
'創(chuàng)建對象
Set d = CreateObject("Scripting.Dictionary")
'遍歷數(shù)據(jù)區(qū)域的單元格
For Each Cel In Range("A2:A21")
'判斷單元格內(nèi)容是否為空
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
'遍歷數(shù)據(jù)區(qū)域的單元格
For Each Cel In Range("A2:A21")
'判斷單元格內(nèi)容是否為空
If Cel <> "" Then myList.Add Cel.Value, CStr(Cel.Value)
Next
On Error GoTo 0
i = 1
'將非重復(fù)值寫入工作表
For Each itm In myList
Cells(i + 1, 3) = itm
i = i + 1
Next
End Sub
單擊右側(cè)文件名下載示例源文件:用VBA提取取不重復(fù)值.xls
聯(lián)系客服