Excel:如何计算符合条件的范围内不同值的数量?

Excel:如何计算符合条件的范围内不同值的数量?

我阅读并测试了很多内容,但仍然无法找到解决我的问题的方法。

我发现的最接近的解决方案是下面文章中提出的第二个解决方案: 如何计算某个范围内不同值的数量?

我本质上是想找出 A 列中有多少个值是唯一的,而 B 列中有多少个值对应于某个值。

想象一下以下电子表格

COL A      COL B
abc        TRUE
abc        TRUE
bef        TRUE
bef        FALSE
hgf        TRUE
swd        FALSE
rth        FALSE
kjh        TRUE

我想提出一个公式来计算(不显示)A 中包含 COL B 中的 TRUE 的唯一值的数量。因此,根据上述示例,我应该得到 4。

现在,我期望下面的公式能有所帮助

=SUMPRODUCT((A2:A100<>"")/COUNTIF(A2:A100,A2:A100))

曾经用 修改过COUNTIFS,但显然不起作用,我不明白为什么。另外,我也不太明白开头那一点的原因:A2:A100<>""

答案1

使用数据透视表。无需公式。只需点击几下即可。

将 A 列(在我的样本中称为“一”)拖到行标签,将 B 列(在我的样本中称为“二”)拖到列标签,将任意列拖到值区域并将值计算设置为“计数”。

在数据透视表上方的一行,使用简单的 Count() 函数返回唯一值的数量:

在此处输入图片描述

您可以过滤数据透视表以仅显示带有“true”的项目或仅显示带有“false”的项目。

答案2

试试这个“数组公式”

=SUM(IF(FREQUENCY(IF(B2:B100=TRUE,IF(A2:A100<>"",MATCH(A2:A100,A2:A100,0))),ROW(A2:A100)-ROW(A2)+1),1))

已确认CTRL++SHIFTENTER

答案3

您可以使用以下公式列出列中A包含的列的值。"TRUE"B

在单元格中用++D2输入此数组公式并将其向下拖动以显示所有满足条件的唯一值...CTRLSHIFTENTER

=INDEX($A$2:$A$9, MATCH(0, COUNTIF($D$1:D1,$A$2:$A$9)+IF($B$2:$B$9<>TRUE, 1, 0), 0))

编辑*添加了一张照片。 在此处输入图片描述

相关内容