Excel 计算按类别筛选的条目数,排除重复项

Excel 计算按类别筛选的条目数,排除重复项

我正在统计一系列活动的出席人数。每个活动参与者的数据都存储在不同的表中,格式相同:

姓名 机构 机构类型 -下拉列表
汤姆 斯科特 汤姆斯科特 非政府组织
汉克 绿色的 视频博客兄弟 企业
慢性粒细胞白血病 灰色的 皮质 非政府组织
布雷迪 哈兰 定期视频 当地政府
约翰 绿色的 视频博客兄弟 企业
德里克 穆勒 维里斯特比勒 企业
罗根 / 公民
先生 / 公民
皮尤迪 馅饼 / 公民

主表在不同的列中计算活动的出席人数(为简单起见,我们只关注上面的单个示例)。

我想计算不同类别(机构类型)的参加者人数,但只计算单个机构一次。

此外,对于“公民”类别,我想计算每个唯一的条目。

因此,对于上面的例子,我们应该:

NGO: 2
Enterprise: 2
Local authority: 1
Citizens: 3

现在,我正在使用类似这样的东西:

=@IF(UNIQUE(FILTER(A2:D10;D2:D10="NGO";"");;FALSE)=""; 0;INDEX(ROWS(UNIQUE(FILTER(A2:D10;D2:D10="NGO";"");;FALSE));1;1))

公式的第二部分是主要部分。FILTER删除所有具有不同机构类型的行。UNIQUE确定整行是否唯一且不重复,ROWS然后计算条目数,并将INDEX结果a x b单元格缩减为单个单元格。IF检查和整个第一部分(重复)说明如果不存在具有所需机构类型的条目,则结果为 0。

问题是这个公式不能正确计算机构数量。例如,如果有多个来自 vlogbrothers 的参与者,则会分别计算,因为他们的名字不同。我想只计算一次 vlogbothers 机构(导致此示例中只有 2 个企业),但保留公民类别中个人的计数。

答案1

这是一个改进的公式,可以为您提供正确的结果:
=IF(F2="Citizen", COUNTA(FILTER(Table1[Institution],Table1[Institution type]=F2)), COUNTA(UNIQUE(FILTER(Table1[Institution],Table1[Institution type]=F2))))

  • COUNTA(FILTER(Table1[Institution],Table1[Institution type]=F2))为公民服务,统计所有行
  • COUNTA(UNIQUE(FILTER(Table1[Institution],Table1[Institution type]=F2))))适用于非公民,计算唯一的机构名称。

在此处输入图片描述

答案2

请检查以下公式是否对您有帮助。

非政府组织: =SUMPRODUCT(($D$2:$D$10=F2)*(MATCH($C$2:$C$10,$C$2:$C$10,)=ROW(1:9)))

在此处输入图片描述

企业: =SUMPRODUCT(($D$2:$D$10=F3)*(MATCH($C$2:$C$10,$C$2:$C$10,)=ROW(1:9)))

当地政府: =SUMPRODUCT(($D$2:$D$10=F4)*(MATCH($C$2:$C$10,$C$2:$C$10,)=ROW(1:9)))

公民: =COUNTIF($D$2:$D$10,F5)

在此处输入图片描述

如果有重复的公民,建议使用以下公式。=SUMPRODUCT(($D$2:$D$14=F5)/COUNTIFS(A2:A14,A2:A14,B2:B14,B2:B14))

在此处输入图片描述

请注意,前三个机构公式是数组公式,需要按Ctrl+Shift+Enter。

相关内容