我正在尝试计算调查回复。我希望能够回答有多少人曾经用答案值“1”回答过这个问题。但是,人们已经多次回答了调查。如果他们已经回答了调查三次,第一次回答“1”,第二次回答“2”,第三次回答“1”,那么这个人的答案应该是 1。因此,对于以下数据:
JM 27/03/2015 2
DR 10/04/2015 2
AD 24/04/2015 2
DR 15/05/2015 1
AD 29/05/2015 1
AD 20/06/2015 2
AD 04/07/2015 1
DR 18/07/2015 1
DR 31/07/2015 2
JM 15/08/2015 2
JM 22/08/2015 2
正确的公式将得出“2”的结果,因为 DR&AD 在某些时候都回答了“1”,而 JM 只回答了“2”。我尝试了很多选项,但似乎都无法正确回答。每个人只能算一次,但许多人回答了多次调查。有什么建议吗?
答案1
在 Access 中,这更容易做到,但假设您可以创建一个额外的列,您可以D1 =IF(C1=1,A1,"")
为所有记录设置并拖动/复制它。此时,该函数
=IF(COUNTIF(D1:D11,"")=0,
SUM(IF(FREQUENCY(MATCH(D1:D11,D1:D11,0),MATCH(D1:D11,D1:D11,0))>0,1)),
SUM(IF(FREQUENCY(MATCH(D1:D11,D1:D11,0),MATCH(D1:D11,D1:D11,0))>0,1))-1)
在单元格中将返回您想要的值。
Eirikdaude 找到了一个比链接解决方案中的三行代码更简单的解决方案。
=SUMPRODUCT((D1:D11<>"")/COUNTIF(D1:D11,D1:D11&""))
简单多了!