2016-04-21 20 views
1

我有值的列表:(德梅因,奧馬哈,明尼阿波利斯,堪薩斯城)指望有多少範圍內不爲空或列表

我有一堆對每個城市的數據行線(1-2個城市,有兩列,第二個很少使用)。我需要指出一個城市出現的次數不是前面提到的四次之一。

我需要把一個單元格中的功能代碼計算出一個範圍內有多少次不在列表中?

回答

3

=COUNTIFS(A1:A2,"<>Des Moines",A1:A2,"<>Omaha",A1:A2,"<>Minneapolis",A1:A2,"<>Kansas City",A1:A2,"<>")

A1:A2根據需要只要編輯。這應該有效 - 可能有十幾種方法可以做到這一點,如果沒有,請告訴我。

編輯:謝謝@Jeeped最後的條件。

5

假設您想要計算所有非空單元格(不包括=""),它們不包含來自集合列表的值,您可以使用下面的語句:(假設檢查的範圍是A1:B8,值列表是E1 :E4)

=SUMPRODUCT((LEN($A$1:$B$8)>0)*1)-SUMPRODUCT(COUNTIF($A$1:$B$8,$E$1:$E$4)) 

該公式只計算每個不爲空的單元格,然後減去找到的匹配的計數。

如果您還有任何問題,只是問:)

編輯

關於斯科特的評論:要麼與

=SUMPRODUCT((LEN($A$1:$B$8)>0)*1,COUNTIF($E$1:$E$4,$A$1:$B$8)) 

=SUMPRODUCT((LEN($A$1:$B$8)>0)-COUNTIF($E$1:$E$4,$A$1:$B$8)) 

但去正如所說:有很多方法可以解決這個問題是;)

+1

這裏只是下面的邏輯,不能你把它們'= SUMPRODUCT((LEN($ A $ 1:$ B $ 8 )> 0)* 1) - (COUNTIF($ A $ 1:$ B $ 8 $ E $ 1:$ E $ 4)> 0))'?因爲空字符串在第二個字節中總是也爲0,所以唯一的可能性是「0 - 0」,「1 - 0」和「1 - 1」,所以永遠不會有'0 - 1'存在的時間,得到相同的結果,但輸入較少。再次如果我正確地遵循邏輯。 –

+2

@ScottCraner你有沒有試過你的建議? 'COUNTIF'只會用於'$ E $ 1:$ E $ 4'中的第一個單元格。請檢查我的編輯,如果這是你的意思(至少,你需要交換清單和範圍檢查countif) –

+0

你是正確的,我總是把這些轉過來玩,直到我得到它的權利。 –

3

我的水晶球表明這一點,

=COUNTIFS(A:B, "<>"&G2,A:B, "<>"&"Omaha",A:B, "<>"&G4,A:B, "<>"&"Kansas City",A:B, "<>") 

cities_not

+0

我可以從哪裏得到你的一個水晶球?這比我塵土飛揚的好多了。我假設我們不能用這些數組做一個數組?類似(但顯然不是):'CountIf(A:B,「<> {」Des Moines「,」Omaha「,...}」)'? – BruceWayne

+1

不,如果您使用*與OR標準不相等,則它們將全部匹配多次。當某些東西是*奧馬哈*時,它仍然可以是**而不是** *堪薩斯城*,*明尼阿波利斯*或*得梅因*。 – Jeeped

+1

只要沒有空字符串,它就會工作......但是然後'= COUNTA($ A:$ B)-SUMPRODUCT(COUNTIF($ A:$ B,$ G $ 2:$ G $ 5))'也會工作......(我討厭空弦);) –