在列中查找所有唯一值,然后计算出现次数

时间:2014-01-13 15:43:02

标签: excel excel-vba vba

我在excel中有一个列,有许多不同的模型类型。大约有100.每列在列中随机出现不同的时间。我发现了一个类似的问题,但似乎我需要先列出所有独特的vaules。截至目前,我正在过滤和计算总数。必须有更好的方法!

我希望输出看起来像

模特|次数

A | 99

乙| 47

C ^ | 55

有类似问题的链接在这里: 但它并不完美。

感谢:)

Distinct value of a column and do a count on each distinct value

1 个答案:

答案 0 :(得分:1)

让您的Model数据位于A2:A100范围,Occurance数据位于B2:B100范围

1)您可以使用以下数组公式(我从此book得到它)来查找唯一值(请注意,只有当您的数据不包含空行时,它才有效)。选择目标范围(例如F2:F100),然后在公式栏中输入以下公式:

=IFERROR(INDEX($A$2:$A$100,SMALL(IF(MATCH($A$2:$A$100,$A$2:$A$100,0)=ROW(INDIRECT("1:" & ROWS($A$2:$A$100))),MATCH($A$2:$A$100,$A$2:$A$100,0),""),ROW(INDIRECT("1:" & ROWS($A$2:$A$100))))),"")

并按 CTRL + SHIFT + ENTER 进行评估。

2)下一步,在G2中写下以下公式并将其延长至G100

=IF(F2<>"",SUMIF($A$2:$A$100,F2,$B$2:$B$100),"")

它将为您提供每个值的完全出现