2016-07-15 69 views
0

我有這樣計數細節設置數據的

local machine1 machine2 machine3 
------ --------- --------- --------- 
local1 test1-a  
local1 test2-a  test2-b  test2-c 
local1 test3-a  test3-b 
local2 test4-a  test4-b 
local2 test5-a  
local2 test6-a  
local2 test7-a  
local3 test8-a  test8-b  test8-c 
local3 test9-a  test9-b 

我有一個這樣的公式表到目前爲止數某種類型的本地

=COUNTIF($a$3:$a$20;"local1") - result: 3 
=COUNTIF($a$3:$a$20;"local2") - result: 4 
=COUNTIF($a$3:$a$20;"local3") - result: 2 

的數量,以便好。

現在,我們的目標是統計每個地方有多少臺機器,而且我真的無法做到。 想法?

編輯:修改後的數據更容易閱讀

爲計數的結果應該是:

LOCAL1:6 local2:5 local3:5

+0

請澄清你的數據集。哪臺機器與哪個本地相關?例如,爲什麼機器local2-a,local2-b和local2-c與第二個數據行中的local1在一行中?換句話說:究竟是什麼意思「計算每個地方有多少臺機器」。請給出計數結果的例子。 –

+0

@Axel,對不起,數據已更正。 cout resoult應該是:Local1 - 6; local2 - 5; local3 - 5 –

+0

基本上,我想要的是計算每個本地存在的機器數量,通過上一個公式給出的數據集給出的本地數量,例如:= COUNTIF($ a $ 3:$ a $ 20;「 LOCAL1" )。對於顯示的例子來說,數據是有組織的,但事實絕非如此......所有本地數據都混合在一張大約有5k條記錄的表中 –

回答

2

我希望,我已經明白正確:

enter image description here

公式中

G2和3單元向下:

=COUNTIF($A:$A,F2) 

G7和3單元向下:

=SUMPRODUCT(($A$1:$A$20=F7)*($B$1:$D$20<>"")) 

它採用了瑞士軍刀SUMPRODUCT的力量。 ($A$1:$A$20=F7)如果本地匹配A則爲true。 ($B$1:$D$20<>"")如果機器單元不是空的,則爲true。如果兩者都爲真,則TRUE * TRUE = 1,否則FALSE * TRUEFALSE * FALSETRUE * FALSE = 0。然後SUMPRODUCT總計所有1並得到這兩個都是真實的計數。

+0

謝謝Axel。我的確瞭解了這個公式,這正是我想要的。只有一個問題:是否有可能,而不是「= F7」,有文本,如「local1」。我試過,但它給出了一個錯誤,只是想知道是否有可能以任何其他方式做到這一點,因爲像這樣,我必須有一個控制列,所有的位置...... –

+0

是的,它是:)只是有= 「local1」 –

+0

當然'G7'中的公式也可能是'= SUMPRODUCT(($ A $ 1:$ A $ 20 =「local1」)*($ B $ 1:$ D $ 20 <>「」))''。你得到什麼錯誤? –