Excel – 在基于另一个字段的范围内统计唯一身份

我有一个类似于Excel的情况- 计算一组中的独特logging,但是最终的结果是让我头疼。

这基本上是我的数据看起来如何:

ABC --- --- --- 1 5 2 1 6 2 1 5 2 2 7 1 2 7 1 2 7 1 3 8 1 3 8 1 

我正在尝试在列C中生成值。我需要计算A列中每个不同值的B列中唯一值的数量。列A被sorting,以便所有值都在一起。

我试过这个:

 =COUNTIFS($A$2:$A$8,$A2, $B$2:$B$1638,"<>"&"") 

这给了我一组数值的计数,但不是组中的唯一值的数量(所以,在我的例子中,它会是3,3和2)。 我也尝试了一个非常酷的技巧,我发现在这个页面上计算了整个列中的所有唯一值(所以在我的例子中,它将一直是4)。 我无法弄清楚如何分割差异。

我也试图弄清楚是否可以使用IF函数来完成,不过我也是这样干的。 任何帮助吗?

在单元格D2中使用此数组公式:

 =SUM(--(FREQUENCY( IF( $A$2:$A$9=A2, MATCH($B$2:$B$9,$B$2:$B$9,0)), ROW( $B$2:$B$9)-ROW( $B$2)+1)>0)) 

将它放在公式栏中,然后按CTRL + SHIFT + ENTER (而不是ENTER)将其保存为数组公式。 Excel中放置这些括号{}围绕您的公式。

然后复制下来。 它工作得很好,只是要知道,如果在工作簿中使用数以千计的公式,数组公式会变得非常慢。

我发现这个链接到这里从你链接到“酷技巧”的链接。

如果有效的话,让我知道,不要忘记标记我的答案被接受。 祝你好运!