此 SUMPRODUCT(COUNTIF( )) 函數如何運作?

此 SUMPRODUCT(COUNTIF( )) 函數如何運作?

我正在尋找一種解決方案來計算某個範圍內的不同值,並遇到了本文。此範例提供了由四個唯一條目組成的十個名稱的清單。然後,它使用以下公式來計算四個唯一條目的數量:=SUMPRODUCT(1/COUNTIF(B3:B12,B3:B12))

SUMPRODUCT我對和函數的工作原理有基本的了解COUNTIF。但我不明白這個公式。

  • 正在COUNTIF做什麼才能產生一個 {1,2,2,3,3,3} 陣列?
  • 他如何SUMPRODUCT與之互動以屈服4

當我複製資料並輸入時=COUNTIF(B3:B12,B3:B12),它會產生3.

  • 這個值是什麼意思?
  • 它如何與 {1,2,2,3,3,3} 陣列關聯?

答案1

這個{1,2,2,3,3,3}範例實際上完全是任意的,與實際結果無關。實際上會COUNTIF()回傳 this {3,3,3,2,2,3,3,3,2,2}。此數組是COUNTIF()其第二個參數的每個元素的計算結果。然後,如文章所述,該數組的每個元素都用於以 1 作為分子的除法。也就是說,您的數組將變成{1/3,1/3,1/3,1/2...} SUMPRODUCT()將數組的所有元素相加得到四個。

相關內容