2011-02-23 129 views
3

我試圖使用函數來計算電子表格中同時滿足多個條件的唯一單元格的數量。Excel - 計算符合多個條件的唯一值

考慮下面的例子:

A  B  C 
QUANT STORE# PRODUCT 
1  75012 banana 
5    orange 
6  56089 orange 
3  89247 orange 
7  45321 orange 
2    apple 
4  45321 apple 

在上面的例子中,我需要知道有多少獨特的商店與一個有效STORE#收到橘子或蘋果。在上面的情況下,結果應該是3(商店56089,89247和45321)。

這是我開始嘗試解決問題:

=SUM(IF(FREQUENCY(B2:B9,B2:B9)>0,1)) 

上述公式將產生獨特的門店數量與有效的商店#,但不只是收到橘子或蘋果的人。我怎樣才能添加額外的標準?

+0

ADO怎麼樣? chr – Fionnuala 2011-02-23 15:45:46

+0

有趣的問題+1 – momobo 2011-02-24 07:24:26

回答

1

我的工作方式稍微有些不同(但它的工作原理),但我發佈這個主要原因是因爲我想知道我的公式的第二部分是否可以以某種方式製作成數組公式,從而使其更短。

爲此,將列B上的3列從最小到最大排序,因爲它的一部分當前是數組公式,輸入公式並[ctrl] + [shift] + [enter]。排序後的數據現在看起來是這樣的:

A  B  C 
QUANT STORE# PRODUCT 
    7 45321 orange 
    4 45321 apple 
    6 56089 orange 
    1 75012 banana 
    3 89247 orange 
    5   orange 
    2   apple 

和公式是:

={SUM((B3:B9>0)*(C3:C9="orange"))+SUM((B3:B9>0)*(C3:C9="apple"))}-{IF(AND(OR(C3="orange",C3="apple"),OR(C4="orange",C4="apple"),B3=B4),1,0)+IF(AND(OR(C4="orange",C4="apple"),OR(C5="orange",C5="apple"),B4=B5),1,0)+IF(AND(OR(C5="orange",C5="apple"),OR(C6="orange",C6="apple"),B5=B6),1,0)+IF(AND(OR(C6="orange",C6="apple"),OR(C7="orange",C7="apple"),B6=B7),1,0)} 

第一部分(在大括號中)是不言自明:

SUM((B3:B9>0)*(C3:C9="orange"))+SUM((B3:B9>0)*(C3:C9="apple")) 

我我感興趣的是試圖看看第二部分是否可以用數組公式表示。我最初想出了

=SUM((AND((C3:C9="orange"),OR(C4:C9="orange",C4:C9="apple")))*(B3:B9=B4:B10)*(B3:B9<>"")) 

但它似乎在計算「香蕉」作爲一個合法的條目出於某種原因。因此,我必須手動輸入第二部分中的所有元素,而不是使用數組公式。任何人都有如何完成這個任務的想法?

+0

謝謝!很棒! – wotaskd 2012-01-30 23:07:33