在Excel中总结前五个实例

我有一个三列的Excel表。 A列有国家名单,B列有每个国家的城市名单,C列有这些城市的人口。 表格结构的方式使A栏在国家B中重复出现的国家名称 – 与在每个国家的城市数量一样多。

我想总结每个国家前五个城市的人口。

我曾尝试使用SUMIFCOUNTIF但还没有设法做到这一点。 我怎么能总结出现在每个国家的前五个城市的人口(在C行)呢?

你是想把这个名单中五个城市的人口或每个国家前五名人口最多的城市的人口 (如果这个名单是按人口sorting,这些是一样的)? 如果是后者,你可以用一行数组公式来完成

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

如果您将“CountryName”replace为所需国家/地区的前5位总和的参考国家, 我认为唯一的问题是,如果一个国家的城市less于5个,就会失败。

这里有一个公式的版本,当less于5个城市的时候仍然有效,但是在前5名仍然是上限。获得一个1-n值的数组在Excel中看起来很丑,但是这似乎奏效。

 =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) 

添加一列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个城市的人口总和