UNIQUE() 函数和动态数组公式的不寻常怪癖

UNIQUE() 函数和动态数组公式的不寻常怪癖

最近,我有大约 150,000 行的数据,其中大约 100,000 行在 E 列中具有唯一值。列如下所示:

Column Heading
1
2
2
3
...
99999
99999
100000

为了计算唯一行数,我尝试COUNT(UNIQUE(E:E))-1并收到“-1”的输出。然而,由于一个意外的惊喜,我发现COUNT(UNIQUE(E:E)+0)-1我预期的输出是“100000”。我很少使用动态数组公式,所以我想了解为什么这会产生影响。

我认为差异可能归因于我使用了整个列,因为我知道有时 COUNTIFS/SUMIFS 可能会出现问题,但COUNT(UNIQUE(E1:E150001))-1仍然会产生“-1”,COUNT(UNIQUE(E1:E150001)+0)-1仍然会产生“100000”。

有人能向我解释一下这种行为吗?COUNT() 函数中的“+0”如何“解决”我的问题?“+0”有什么用途?

非常感谢你的帮助!

答案1

E 列中的数据可能存储为文本。由于 COUNT 函数仅计算数值,因此它将返回 0。

当您添加 0 时,Excel 会将其“添加”到每个值,并且将它们转换为数字,因此 COUNT 将给出正确的结果。

您还可以使用 COUNTA 获得正确的结果;或者首先确保数据以正确的格式存储。

相关内容