文章總結(jié)excel中取唯一值的多種方法:分別用函數(shù)、技巧、透視、VBA多種方法實(shí)現(xiàn)取唯一值。
excel取唯一值,也稱為提取不重復(fù)。在實(shí)際工作中,經(jīng)常會(huì)使用到。
excel取唯一值的方法很多,比如通過高級(jí)篩選、函數(shù)公式以及自定義函數(shù)都可以實(shí)現(xiàn)。
我們以下圖為例,A列城市,有重復(fù)的。需要提取唯一值放在C列。
excel取唯一值方法一:
使用excel流行的篩選公式實(shí)現(xiàn),C1輸入公式:=INDEX(A:A,SMALL(IF(MATCH(A$2:A$9,A$2:A$9,)=ROW($1:$8),ROW($2:$9),4^8),ROW(A1)))&"",按ctrl+shift+enter組合鍵結(jié)束。
公式的思路和理解,請參看:Excel用函數(shù)公式篩選數(shù)據(jù)的方法
excel取唯一值方法二:
單擊數(shù)據(jù)——高級(jí)篩選,可以直接篩選不重復(fù)值,即唯一值。使用高級(jí)篩選需要注意一點(diǎn)的是,必須包含列字段。比如下圖A2:A9只是數(shù)據(jù)內(nèi)容,需要再選中A1,即列表區(qū)域?yàn)椋篈1:A9。其實(shí)設(shè)置參看下圖就OK。
excel取唯一值方法三:
excel中數(shù)據(jù)透視表本身就有去重復(fù)功能。單擊插入——數(shù)據(jù)透視表,然后勾選“城市”字段,唯一值就提取出來了。最后,也可以將數(shù)據(jù)透視表提取出來的唯一值復(fù)制到其余單元格,然后把不需要的數(shù)據(jù)透視表刪得即可。
具體可以參看下面的動(dòng)畫演示,很簡單的操作過程。
excel取唯一值方法四:
學(xué)習(xí)VBA的朋友,也可以使用自定義函數(shù)取唯一值。
方法是:按Alt+F11組合鍵,插入→模塊→在VBE窗口中復(fù)制以下代碼,回到工作表中,C1單元格輸入公式:=wsingle($A$1:$A$9,ROW(A1)),下拉,直到出現(xiàn)0為止,A列所有的唯一不重復(fù)值就別提取出來了。
Function Wsingle(rng1 As Range, x As Integer)
Dim m As Range
Dim n As Range
Dim i As Integer
For Each m In rng1
k = k + 1
If k > Application.WorksheetFunction.CountA(rng1) + 10 Then Exit Function
If Application.WorksheetFunction.CountIf(rng1.Offset(k – 1, 0), m) = 1 Then
j = j + 1
If j = x Then
Wsingle = m
End If
End If
Next m
End Function
excel取唯一值方法五:
這個(gè)方法也是使用VBA代碼,按Alt+F11組合鍵,插入→模塊→在VBE窗口中復(fù)制以下代碼,并單擊工具欄的綠色“運(yùn)行”按鈕,就可以實(shí)現(xiàn)將A列唯一值提取自動(dòng)提取到B列。
Sub 取唯一值()
Dim i As Range
Dim n As Long
n = 1
For Each i In Range("a1:a100")
If Application.WorksheetFunction.CountIf(Range("$A$1:" & i.Address), i) = 1 Then
Cells(n, 2) = i
n = n + 1
End If
Next
End Sub