在 Excel 中对前五个实例求和



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

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

我尝试使用SUMIFCOUNTIF但未能做到。如何对每个国家/地区出现的前五个城市的人口(在 C 行中(求和?

您是要对列表中五个城市的人口求和还是每个国家/地区人口最多的前 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)

添加 D 列。在 D2 中,写下以下公式 D2=COUNTIF($A$1:$A 2,$A 2( 并将其向下拖动。 现在,这将对特定国家的实例进行排名。 现在它是 E 列的一个非常简单的公式,您将在其中获得总和 E2=SUMIFS($C$2:$C$1000,$A$2:$A$1000,$A 2,$D$2:$D$1000,"<=5"( 并将其向下拖动 现在对于每个国家,您将拥有前 5 个城市的人口总和

最新更新