我有一张包含两张纸的Google电子表格。 在表格“来源”中我有一系列国家,城市和地标 - 分别在A,B和C栏中。
在工作表“查询表”中,有两列:(A)国家/地区,其中包含唯一国家/地区名称列表; (B)Landmark排名前三的城市。在B栏中,我希望有一个查询,它为每个国家/地区提供按地标数量划分的前三个城市,即查询只需要计算每个国家/地区中每个城市出现和返回的实例数量,每个国家,出现次数最多的三个城市的名称
这是我创建的示例表,用于演示我的意思:https://docs.google.com/spreadsheets/d/1IPwtAHjwjV1A03o9URws-AtDKw3h9QS9UTT0P1PeVN0/edit?usp=sharing。
谢谢!
答案 0 :(得分:1)
您没有指定符合top
的条件(因此假设这些是第一个列出的 - 在表单的上方),并且您没有说明具有里程碑意义的的数量你的表中没有数字,但也许:
=textjoin(", ",,query(Source!A:C,"select B where A='"&A2&"' limit 3"))
在sheet for Query
的B2中,复制到适合。
答案 1 :(得分:1)
我已经给出了一些想法,并且只是“只是”。计算实例数并返回每个国家的前3名是非常困难的。
使用类似
的查询可以直接进行分组=query(A:C," select A,B,count(C) where A<>'' group by A,B order by A,count(C) desc label A 'Country',B 'City', Count(C) 'Landmarks'",1)
但我不知道如何在不经过2个步骤的情况下获得每组的前三名
(1)对每组中的结果进行编号(各种方式,但这里是一个)
=(E1=E2)*D1+1
分组后的国家/地区名称位于E列。
(2)过滤D列中数字小于4的结果
=filter(E:G,D:D<4)