2015-10-16 63 views
0

背景:16名穿着不同顏色夾克的男士正在舉辦派對,其中一些人擁有相同的名字。在實際的工作表中會有成千上萬的行。一個簡單的例子:SUMPRODUCT與具有多個變量的多個標準

A   B     C 
1 First Names Color of jackets Shape of Face 
2 John  yellow    round 
3 Alan  purple    round 
4 Sam   red     round 
5 Tom   blue    oblong 
6 John  blue    oblong 
7 Tom   yellow    oblong 
8 Tom   yellow    oblong 
9 Sam   red     oblong 
10 Alan  red     oblong 
11 Timothy  blue    diamond 
12 Sam   purple    diamond 
13 Sam   red     diamond 
14 Alan  red     diamond 
15 Timothy  red     diamond 
16 John  blue    triangle 
17 Timothy  blue    triangle 

我需要做的是計算某些類別(有時在多個類別,與或或)的唯一值。例如,我現在需要計算黃夾克中圓臉男士的不同名稱的數量。幸運的是,在這種情況下有一個公式適用。要計算yellow夾克round -faced男人,你可以使用這個其中D1 =黃色和E1 =回合:

=SUMPRODUCT(((B2:B17=D1)*(C2:C17=E1))/COUNTIFS(A2:A17,A2:A17&"",B2:B17,B2:B17&"",C2:C17,C2:C17&"")) 

這是當我把這個問題又進了一步,我有麻煩了。我想要計算表面或oblong表面不同名稱的yellow夾克或red夾克或blue夾克的數量。在這種情況下的答案是4。這是我最初在我的情況下寫的。在這個例子中,D1 =黃色,D2 =紅色,D3 =藍色。 E1 =圓形,E2 =長方形。

這給了我一個#N/A錯誤。然而,當我拿出第三個變量,D3,所以公式看起來像一個低於它給了我一個準確的數字:

=SUMPRODUCT(((B2:B17={D1,D2})*(C2:C17=E1,E2}))/COUNTIFS(A2:A17,A2:A17&"",B2:B17,B2:B17&"",C2:C17,C2:C17&"")) 

不幸的是,當我做到了,在不同的情況多做幾次就開始給我一些不準確的數字。

如何在每個條件可能有多個變量時使用多個條件對重複項中的唯一值進行計數?

回答

0

對於處理的唯一值計數,倒數SUMPRODUCT/COUNTIF(S)建設不僅難以構造除了一些標準,但也 - 也許令人驚訝 - 令人難以置信的低效相比,替代FREQUENCY/MATCH的建立,尤其是在大數據集。

隨着CSE **

=SUM(IF(FREQUENCY(IF(ISNUMBER(MATCH(B2:B17,D1:D3,0)),IF(ISNUMBER(MATCH(C2:C17,E1:E2,0)),MATCH(A2:A17,A2:A17,0))),ROW(A2:A17)-MIN(ROW(A2:A17))+1),1))

我說奇怪,因爲自然的假設可能是的FREQUENCYMATCH組合使用精確MATCH_TYPE參數將是非常低效的。事實上,事實證明情況恰恰相反。

問候

**數組公式不以同樣的方式爲「標準」公式輸入。您只需按住CTRL和SHIFT鍵,而不是按下ENTER鍵,然後按ENTER鍵。如果你做得對,你會注意到Excel在公式周圍放置了大括號(儘管不要試圖自己手動插入這些)。

+0

謝謝你的幫助@XOR LX。我在我的問題中使用的示例與我所使用的數據類似但不完全相同,因此我仍然遇到問題。以下是我正在使用的確切數據的一小部分。我沒有足夠的空間將這一切放在評論中,所以請看下面的內容。在這種情況下,我想知道從以下地區獲得續訂或升級的獨特客戶的數量:usd,cad,mex。數據本身是從數據庫中導出的,我試圖保持簡單,所以我想在公式中使用變量(例如usd,renewal)。 – user32302

+0

好吧,我無法正確格式化它,因此可以讀取它。希望我的描述足夠了。我正在做一個獨特的客戶ID(例如2342,3423)。這將是A列。我正在嘗試對它們進行計數,例如,續訂和升級。這將是B欄。更進一步的將是鄉村類型。這將是欄C.這是我希望Excel告訴我。請給我一些獨特的客戶ID,這些ID是續訂或升級,來自usd或cad或mex。數據來自數據庫,所以我需要按名稱引用變量。 – user32302

+0

所以只需調整我的公式。如果你的值不在連續的單元格中,那麼你可以在公式中輸入它們作爲靜態數組,例如, {「usd」,「cad」,max「}在一個ISNUMBER中(MATCH結構,根據我的解決方案) –

0

你可能要考慮數據透視表:

SO33179194 example

在B20的公式爲:

=COUNT(F3:G5) 
+0

謝謝你的迴應。在更大的圖片中,我需要獲取幾個公式的幾個結果,並將其計算爲摘要頁面。在這種情況下,數據透視表不起作用。 – user32302