[英]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.