)%20%E5%87%BD%E6%95%B8%E5%A6%82%E4%BD%95%E9%81%8B%E4%BD%9C%EF%BC%9F.png)
我正在尋找一種解決方案來計算某個範圍內的不同值,並遇到了本文。此範例提供了由四個唯一條目組成的十個名稱的清單。然後,它使用以下公式來計算四個唯一條目的數量:=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()
將數組的所有元素相加得到四個。