Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google sheets 使用筛选数据计算列中的唯一值_Google Sheets_Count_Filtering_Unique - Fatal编程技术网

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…你又搞定了。太神奇了…我从未想过要这么做!