2017-08-16 53 views
0

我有一個Excel表格,有三列。 A列有國家列表,B列有每個國家的城市列表,C列有這些城市的人口。 表的結構使得列A將具有重複的國家名稱 - 與列B中的每個國家的城市數量一樣多。在Excel中總結前五個實例

我想總結第一個每個國家的五個城市。

我試過使用SUMIFCOUNTIF,但還沒有設法做到這一點。我怎麼能總結出現在每個國家的前五個城市的人口(在C行)?

回答

2

的人口總和你們是不是要總結在列表中第一五個城市的人口和人口每個國家的前5名人口最多的城市(如果名單按人口排序,這些都是相同的)?如果是後者,你可以用一個行陣列式

=SUM(LARGE(IF(A:A="CountryName",C:C),{1,2,3,4,5})) 
(Ctrl+Shift+Enter after setting up the formula) 

如果你將「國家或地區名稱」與你想要的前5名的種羣的總和該國基準做到這一點。我認爲唯一的問題是,如果名單上一個國家的城市少於5個,它將會失敗。

下面是公式的一個版本,適用於少於5個城市的情況,但仍然排在前5位。在Excel中獲取1-n數組是一種醜陋的黑客攻擊,但似乎工作。

=SUM(LARGE(IF(A:A="CountryName",C:C),ROW(OFFSET(A1,,,MIN(COUNTIF(A:A,"CountryName"),5))))) 
(Ctrl+Shift+Enter after setting up the formula) 
+0

謝謝!由於表格按人羣排序,工作得很好。 – franciscofcosta

+0

關於如何解決少於5個城市的國家的問題有何想法? – franciscofcosta

+0

當然,我添加了一個公式版本,它通過計算城市數量並將其限制到5來動態創建查找數字的數組。5.在Excel中做一件醜陋的黑客事情,但我認爲它可行。 – Wedge

0

添加一列D.在D2中寫入以下公式D2 = COUNTIF($ A $ 1:$ A2,$ A2)並將其向下拖動。 現在將做什麼是排名特定國家的實例。 現在這是一個E欄非常簡單的公式,您將得到總和 E2 = SUMIFS($ C $ 2:$ C $ 1000,$ A $ 2:$ A $ 1000,$ A2,$ D $ 2:$ D $ 1000,「 < = 5" )並向下拖動 現在,每一個國家,你將擁有前5個城市