如何對列中出現超過 1 次的值進行計數

如何對列中出現超過 1 次的值進行計數

在儲存格 B5 中我有一個公式:

=SUMPRODUCT((A2:A10<>"")/COUNTIF(A2:A10,A2:A10&"")-(COUNTIF(A2:A10,A2:A10&"")=1))

如果 A 列具有如下所示的數據,則公式將傳回正確答案 3,因為有 3 個值出現多次(14、16 和 17)。這正是我想知道的;存在多次出現的三個值。我不需要知道這些值是什麼,也不知道它們在哪裡(儘管我對最後一部分確實有一些漂亮的了解)。

Column A: 
12
13
14
14
14
15
16
16
17
17

但是,如果 A2:A10 範圍內的任何位置是空白單元格,則重複值的計數減 1(在上面的範例中,公式將返回 2,而實際上應該是 3)在下面的範例中,空白單元格用“B”表示。

Column A:
12
13
14
B
14
15
16
16
17
17 

在此範例中,14、16 和 17 仍各自出現多次;所以公式應該回傳 3,但它回傳 2。

我相當確定這是由於第一部分=SUMPRODUCT((A2:A10<>"")計算的基本上是非空白單元格。當然,如果碰巧有兩個(或更多)空白單元格,那麼它會重新遞增,但這也不是真正正確的,因為它仍然省略了非空白重複項(如果這有任何意義的話)。

答案1

注意:您的問題是指9單元格範圍,但你正在顯示10範例中的值因此並不能完全加起來......儘管我理解這個問題。

公式的第一部分沒問題,因為這是計算不同非空白值數量的標準方法...但是當您減去第二部分時,COUNTIF您還需要排除空白,因此您需要刪除 &""第二部分COUNTIF,即這個版本

=SUMPRODUCT((A2:A10<>"")/COUNTIF(A2:A10,A2:A10&"")-(COUNTIF(A2:A10,A2:A10)=1))

....但是這個版本更好

=SUMPRODUCT((COUNTIF(A2:A10,A2:A10)>1)/COUNTIF(A2:A10,A2:A10&""))

這兩個公式都適用於 A2:A10 中的文字或數字資料(或兩者的混合),但僅適用於數字值(根據您的範例),您也可以使用FREQUENCY這樣的函數

=SUMPRODUCT((FREQUENCY(A2:A10,A2:A10)>1)+0)

相關內容