2016-04-29 49 views
1

我正在处理一个有许多列和几张表的项目。为了简单起见,我只发布需要帮助的人:在表中,我有一个用户名,并且他们是否收到证书。证书的计算是基于他们在其他测试中的通过次数(三个或更多证书给他们)。在另一张表格上,我发布了统计数据,我只想显示总数为的唯一证书。该表看起来像下面(简化)。Excel - 基于两列返回唯一值计数

*Username* | *Test Result* | *Bundle* 
abc  | Pass   | "" 
abc  | Pass   | "" 
123  | Pass   | True 
123  | Pass   | True 
123  | Pass   | True 
123  | Pass   | True 
qwerty  | Fail   | False 
qwerty  | Pass   | False 
qwerty  | Pass   | False 

因此,与上述,他们需要三个或更多的测试有“捆绑”。如果他们通过两个失败的三分之一,他们会失败的“捆绑”。如果他们没有进行三次测试,则不算合格或不合格。

另一个页面上,我想告诉谁已经得到了“捆绑”而为之独特学生人数还没有

一些我试过的东西:

=COUNTIFS(MOS_Table[Username],"*",MOS_Table[Bundle],TRUE) 

(注:MOS_Table是表的名称)这将算在包列数真值,但数他们每次参加测试的同一名学生。

=COUNTIF(MOS_Table[Bundle],TRUE) 

该返回与上述相同。

我试过其他SUMPRODUCT和SUM,COUNTIFS和其他东西的组合。我不确定是否有更好的方法可以解决这个问题,但我会采取任何手段使其发挥作用。长期来看,会有多达400-500个可能的行。

在此先感谢!

+0

您是否尝试过枢轴表1的简单计数过滤器,然后只是有一个查找到你需要什么?它有点解决方法,但似乎达到了你的目标。 –

+0

我还没有进入数据透视表,所以我不确定他们的用途或功能。我确实需要统计表上有几个表格,每个测试的细节和他们的合格率等数据。这听起来像是Pivot Tables能为我做的事吗? – Dekaiden

回答

0

请试试这个:

=SUM(IF(MOS_Table[Bundle]=TRUE,1/COUNTIF(MOS_Table[Username],MOS_Table[Username]))) 

这是一个数组公式,必须以CTRL ++进入证实!

的COUNTIF返回完整的计数{2,2,4,4,4,4,3,3,3}的阵列和1/使得它,所以它可以概括,但仅限于的IF{FALSE,FALSE,0.25,0.25,0.25,0.25,FALSE,FALSE,FALSE}真实的一部分。在你的例子中是1。

如果您还有任何问题,只是问:)

+0

正如一个注释:如果不是所有的'* Bundle *'都是'TRUE'(或者它们都不是),这会搞砸的......请牢记:) –

+0

对此我感激不尽!我一直在努力研究它两天。我接近这样的东西,但有捆绑和用户名列向后,并没有做的1 /部分。这太棒了。 '* Bundle *'列没有全部TRUE,并且有空格,但是,这似乎仍然工作得很好。我一直在进行一些测试,一切都很好。再次感谢你! – Dekaiden

+0

不客气 –