对 Excel 中的前五个实例求和

Sum first five instances in Excel

我有一个包含三列的 Excel table。 A 列有国家列表,B 列有每个国家的城市列表,C 列有这些城市的人口。 table 的结构方式使得 A 列将重复国家名称 - 与 B 列中每个国家/地区的城市数量一样多。

我想求和每个国家前五个城市的人口。

我尝试过使用 SUMIFCOUNTIF 但没成功。我如何求和每个国家/地区出现的前五个城市的人口(在 C 行)?

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

您是要对列表中五个城市的人口求和,还是对前5个人口最多城市的人口求和对于每个国家(如果列表按人口排序,它们是相同的)?如果是后者,你可以用一个单行数组公式

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

将 "CountryName" 替换为您想要的前 5 位人口总和的国家/地区的参考。我认为唯一的问题是如果列表中的一个国家的城市少于 5 个,它将失败。

这是一个适用于少于 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)