在 COUNTIF() 中使用 UNIQUE() 时出现明显的错误语法错误

在 COUNTIF() 中使用 UNIQUE() 时出现明显的错误语法错误

我有一个包含以下值的电子表格A1:A8

1   1   1   2   3   3   4   5

我想计算唯一值的数量>= 3。(这些值不保证是连续的或具有统一的步长)

使用起来这似乎很简单UNIQUE(),但奇怪的是却不起作用。

如果我设置B1=UNIQUE(A1:A8),结果是一个包含我们期望值的新列

1   2   3   4   5

但是,如果我将其设置C1=COUNTIF(UNIQUE(A1:A8), ">=3"),则会收到标准语法错误:

There's a problem with this formula.
Not trying to write a formula?
[...]
To get around this, type an apostrophe ( ' ) first
[...]

UNIQUE()显然,如果我删除对( )的调用=COUNTIF(A1:A8, ">=3"),一切都会正常。我只是得到了错误的结果,因为它显然计算了两个3

为了尝试查看问题是否出在UNIQUE(),我尝试COUNTIF()AVERAGE()( =AVERAGE(UNIQUE(A1:A8))) 替换,但这样做有效。

这是预期的行为吗?

答案1

问题是 UNIQUE 返回一个数组,而 COUNTIFS 不适用于数组。

首先过滤并使用COUNT:

=COUNT(UNIQUE(FILTER(A1:A8,A1:A8>=3)))

在此处输入图片描述


有趣的是,如果你使用辅助细胞并溢出,UNIQUE那么参考它就会起作用。 B1==UNIQUE(A1:A8)C1==COUNTIF(B1#,">=3")

在此处输入图片描述

这是有效的,因为公式创建了Spill Range引用B1#的。它就像一个命名范围。

答案2

:警告:

此方法适用于任何版本的 Excel:

在此处输入图片描述

  1. 单元格中的数组(CSE)公式I55

    {=SUM(--(FREQUENCY(IF(G55:G62>=3,G55:G62),G55:G62)>0))}
    
  2. 完成配方Ctrl+Shift+Enter

怎么运行的:

  • FREQUENCY返回对应于的值数组已过滤数据数组的一组数据集。

  • IF函数过滤数据。

    IF(G55:G62>=3,G55:G62

  • 然后对这些值进行测试greater than or equals to 3,结果如下。

{FALSE;FALSE;FALSE;FALSE;TRUE;TRUE;TRUE}

  • SUM将这些值相加并返回总数,即3
  • 此公式可以扩展以处理多个标准。

    {=SUM(--(FREQUENCY(IF((criteria1)*(criteria2),values),values)>0))}
    

注意:

根据需要调整公式中的单元格引用。

相关内容