Google sheets 使用筛选数据计算列中的唯一值
以该电子表格为例: 数据如下:Google sheets 使用筛选数据计算列中的唯一值,google-sheets,count,filtering,unique,Google Sheets,Count,Filtering,Unique,以该电子表格为例: 数据如下: Date Week Project 3-jan-2013 1-2013 Project 1 4-jan-2013 1-2013 Project 1 5-jan-2013 1-2013 Project 1 6-jan-2013 1-2013 Project 1 18-abr-2013 16-2013
Date Week Project
3-jan-2013 1-2013 Project 1
4-jan-2013 1-2013 Project 1
5-jan-2013 1-2013 Project 1
6-jan-2013 1-2013 Project 1
18-abr-2013 16-2013 Project 2
19-abr-2013 16-2013 Project 2
22-abr-2013 17-2013 Project 2
24-abr-2013 17-2013 Project 2
25-abr-2013 17-2013 Project 2
26-abr-2013 17-2013 Project 2
29-abr-2013 18-2013 Project 2
30-abr-2013 18-2013 Project 2
1-mai-2013 18-2013 Project 2
3-mai-2013 18-2013 Project 2
4-mai-2013 18-2013 Project 2
6-mai-2013 19-2013 Project 2
7-mai-2013 19-2013 Project 2
8-mai-2013 19-2013 Project 2
9-mai-2013 19-2013 Project 2
10-mai-2013 19-2013 Project 2
7-jan-2013 2-2013 Project 1
8-jan-2013 2-2013 Project 1
16-mai-2012 20-2012 Project 1
17-mai-2012 20-2012 Project 1
我原以为可以处理这个问题,但它不适用于开箱即用的唯一值
我在Project
列中有一个过滤器,其中选择了Project 2
。在单元格C2
中,由于=COUNTUNIQUE(C4:C)
,我希望它报告4
。它正在报告7
,也就是说,它正在考虑C列中的所有值,忽略过滤器。如果我在过滤器中选择Project 1
,它应该报告3
,最后,如果选择了所有项目,它应该报告7
对于项目2
有4
唯一的周值:
16-2013
17-2013
18-2013
19-2013
1-2013
2-2013
20-2012
对于Project 1
有3
唯一的周值:
16-2013
17-2013
18-2013
19-2013
1-2013
2-2013
20-2012
如何使用过滤后的数据实现COUNTUNIQUE?如果没有辅助列(如果愿意,可以隐藏),恐怕无法实现这一点
例如,在E4中:
=ArrayFormula(IF(LEN(D4:D);MMULT(ROW(D4:D)>转置(ROW(D4:D))*(D4:D=转置(D4:D))*(C4:C=转置(C4:C));SIGN(ROW(D4:D))=0;IFERROR(1/0))
然后在C2中,您可以调用:
=小计(9;E4:E)
是的,就是这样。工作得很好!在一个较长的数组公式中,一个非常简洁的解决方案。:)非常感谢亚当的帮助。嘿,亚当:这个不同的野兽呢D我尝试应用相同的技术(使用辅助列),但我无法使其在所有条件下都起作用,也就是说,选择了所有项目,然后只选择了一个项目:(当然,我可以通过数据透视表实现这一点,但我希望数据表中的过滤器能够更新该唯一计数。对于错过此Leniel,我深表歉意,它将在GPF线程上回答。Adam…你又搞定了。太神奇了…我从未想过要这么做!