Excel formula 未找到任何条目时Excel中的筛选函数

Excel formula 未找到任何条目时Excel中的筛选函数,excel-formula,Excel Formula,我尝试在Excel O365 Pro Plus中结合使用UNIQUE()和FILTER()函数。我在B列中有一个国家列表,在G列中有一个不同项目阶段的列表。我想用G列中的数字“1”过滤掉B列中唯一的国家数(我在公式中写A1的原因是因为我在单元格A1中有一个“1”),如果没有“1:s”,那么我希望函数返回一个“0”或指示“未找到条目”的内容 当我使用此功能时: =COUNTA(UNIQUE(FILTER(B:B;G:G=A1;""))) 当B列中至少有一个国家在G

我尝试在Excel O365 Pro Plus中结合使用
UNIQUE()
FILTER()
函数。我在B列中有一个国家列表,在G列中有一个不同项目阶段的列表。我想用G列中的数字“1”过滤掉B列中唯一的国家数(我在公式中写A1的原因是因为我在单元格A1中有一个“1”),如果没有“1:s”,那么我希望函数返回一个“0”或指示“未找到条目”的内容

当我使用此功能时:

=COUNTA(UNIQUE(FILTER(B:B;G:G=A1;"")))      
当B列中至少有一个国家在G列中有“1”时,我得到了正确的值,但当没有国家与标准匹配时,它不返回“0”,而是返回“1”。我做了一些研究,认为我在公式末尾写的“”应该可以解决这个问题,但它不起作用

有谁知道怎么回事吗

我是新来的,所以如果我能把问题写得更清楚,请提前道歉。 提前非常感谢。

此部分:

=UNIQUE(FILTER(B:B,G:G=A1))
如果没有任何条目,则显示错误:

#CALC!
所以COUNTA计算所有非空的单元格。有错误的单元格不是空的,因此您永远不会有0

尝试使用类似以下内容:

=SUMPRODUCT(--NOT(ISERR((UNIQUE(FILTER(B:B,G:G=A1))))))

我们正在检查它是否为错误,并仅在这种情况下对其进行计数。

如果筛选器为空,则它将返回值
(因为这是您传递的第三个参数)。然后,您的
COUNTA
计算有1个值

绕过这一点实际上有点困难:无法将空数组传递给
COUNTA
。即使您向它传递一个错误值,它也只会计算它接收到多少错误值

类似地,不能使用
COUNTIF
,因为这不适用于数组
AGGREGATE
不会过滤掉错误,因为数组涉及计算。这就给我们留下了
SUMPRODUCT
。当过滤器为空时,我们将返回一个
#NA错误,以便我们可以计算有多少非错误条目:

=SUMPRODUCT(1-ISERROR(UNIQUE(FILTER(B:B; G:G=A1; NA()))))