[英]How to count distinct values in Excel
您可以FILTER
原始數據,然后計算唯一實例的數量。
嘗試=COUNT(UNIQUE(FILTER($A$2:$A$10, $B$2:$B$10=$D2)))
這里我假設原始數據在單元格 A2:B10 中,過濾條件在 D 列中。
我已經更新了適用於Office 2007 的答案,並將 @Rory 對原始帖子的評論與我以前的 Office 365 解決方案的OFFSET
部分混合在一起。
在E2
輸入以下公式:
=SUM(1/COUNTIFS(OFFSET($A$3,MATCH(D3,$A$3:$A$12,0)-1,1,COUNTIF($A$3:$A$12,D3),1),OFFSET($A$3,MATCH(D3,$A$3:$A$12,0)-1,1,COUNTIF($A$3:$A$12,D3),1)))
OFFSET
部分提供了一個連續行的列表,這些行具有Acc No
並且屬於相同的Br 代碼。 它使用MATCH
來確定給定Br 代碼的第一次出現。 由於公式的錨單元格是包含第一個內容 ( $A$3
) 的單元格,因此我從MATCH
結果中減去 1。 為了確定高度,我使用了COUNTIF
語句,該語句計算當前Br 代碼具有多少行。
OFFSET
提供的單元格范圍然后用作COUNTIFS
的COUNTIFS
解決方案的輸入。
使用 VBA 宏快速分別列出列中的文本和非文本(數字)唯一且不同的值。
Sub GetCountDistinctValues()
Dim sayi As Long, rang As Range
With CreateObject("Scripting.Dictionary")
For Each rang In Range("A2:A" & Cells(Rows.Count, "A").End(xlUp).Row)
If rang <> Empty Then
If Not .Exists(rang.Value) Then
.Add rang.Value, Nothing
If IsNumeric(rang.Value) Then sayi = sayi + 1
End If
End If
Next
Range("C2").Value = .Count - sayi
Range("C3").Value = sayi
End With
End Sub
資料來源: 查找唯一不同值的計數
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.