对于Google表格中的列,根据另一列提取2个顶行

时间:2017-05-10 09:59:37

标签: excel google-sheets

Screenshot 1 of table as it starts

背景:城市按统计数据排名,但我不是在看这个城市,只是在其国家/地区查看列表中每个国家/地区的前2名。

使用此示例表,我希望提取所有重复的值,然后根据stat 0找到每个重复的前2个。删除不重复可以手动完成。 预期结果:

screenshot of a potential desired result

提取不必按任何特定顺序排列,我只需要根据stat 0以任意顺序提取每个副本的前2位。

这是在更大的工作表上完成的,所以这就是为什么手动执行它是不可行的。

任何帮助非常感谢!

1 个答案:

答案 0 :(得分:0)

在Excel中,您可以尝试在E2下拉以获得该国一次或两次

=IFERROR(INDEX(A$2:A$11,MATCH(1,(COUNTIF(E1:E$1,A$2:A$11)<COUNTIF(A$2:A$11,A$2:A$11))*(COUNTIF(E1:E$1,A$2:A$11)<2),0)),"")

然后在F2中获得最高和第二高的值

=IF(E2="","",LARGE(B$2:B$11*(A$2:A$11=E2),COUNTIF(E$1:E2,E2)))
必须使用 Ctrl Shift 输入

作为数组公式输入

enter image description here

这也适用于Google表格,但第二个公式需要声明为数组公式

=arrayformula(IF(E2="","",LARGE(B$2:B$11*(A$2:A$11=E2),COUNTIF(E$1:E2,E2))))