以此电子表格为例:
https://docs.google.com/spreadsheet/ccc?key=0AoSVxswDPXtwdE5HcGZ4Y0lsMlZtZmFHRjZTcnpGS0E&usp=sharing
数据是这样的:
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
我认为SUBTOTAL可以处理这个问题,但它不适用于开箱即用的唯一值...
我在列Project
中有一个过滤器,其中选择了Project 2
。在单元格C2
中,我希望4
报告=COUNTUNIQUE(C4:C)
。它正在报告7
,也就是说,它正在考虑列C
中忽略过滤器的所有值。如果我在过滤器中选择Project 1
,则应报告3
,最后如果选择了所有项目,则应报告7
。
对于Project 2
,有4
个唯一的周值:
16-2013
17-2013
18-2013
19-2013
对于Project 1
,有3
个唯一的周值:
1-2013
2-2013
20-2012
如何使用过滤后的数据实现COUNTUNIQUE
?
答案 0 :(得分:2)
如果没有帮助栏,我恐怕没有办法实现这一点(如果你愿意,可以隐藏它)。
例如,在E4中:
=ArrayFormula(IF(LEN(D4:D);MMULT((ROW(D4:D)>TRANSPOSE(ROW(D4:D)))*(D4:D=TRANSPOSE(D4:D))*(C4:C=TRANSPOSE(C4:C));SIGN(ROW(D4:D)))=0;IFERROR(1/0)))
然后在C2中你可以调用:
=SUBTOTAL(9;E4:E)