我有一个包含以下值的电子表格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
答案2
:警告:
此方法适用于任何版本的 Excel:
单元格中的数组(CSE)公式
I55
:{=SUM(--(FREQUENCY(IF(G55:G62>=3,G55:G62),G55:G62)>0))}
完成配方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))}
注意:
根据需要调整公式中的单元格引用。