使用 COUNTIF()

=SUMPRODUCT((A1:A100<>"")/COUNTIF(A1:A100,A1:A100&""))

计算 A1:A100 中的唯一单元格值不包括空白单元格和空字符串(“”)。

它是如何做到的?例:

A1:A100 =    [1,   1,   2,   "apple", "peach", "apple", "", "", -,  -,  -,  ...]

需要在数组中添加 “” 以将空白单元格( - )转换为空字符串(“”)。结果:

A1:A100&"" = ["1", "1", "2", "apple", "peach", "apple", "", "", "", "", "", ...]

在这个技巧之后,可以应用 COUNTIF()都被视为相同:

COUNTIF(A1:A100,A1:A100&"") = [2, 2, 1, 2, 1, 2, 94, 94, 94, 94, 94, ...]

要获得所有唯一单元格的计数,不包括空格和“”,我们可以划分

(A1:A100<>""), which is [1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ...]

通过我们的中间结果,COUNTIF(A1:A100,A1:A100&""),并总结了值。

SUMPRODUCT((A1:A100<>"")/COUNTIF(A1:A100,A1:A100&""))  
= (1/2 + 1/2 + 1/1 + 1/2 + 1/1 + 1/2 + 0/94 + 0/94 + 0/94 + 0/94 + 0/94 + ...)
= 4