使用 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