如何在Google Spreadsheets中按app ID分组查询每组前X行数据
分组取前N行的实现方案
针对你需要按App ID分组、每组保留前X行的需求,不用复杂脚本,用FILTER+COUNTIF配合你已有的QUERY排序就能搞定,直接用下面的公式:
=FILTER(QUERY(A14:H44, "SELECT * ORDER BY A, G"), ARRAYFORMULA(COUNTIF(A14:A44, A14:A44)<=2))
逻辑说明
- 先通过你原有的
QUERY公式把数据按**App ID(A列)和dimension value(G列)**排好序,确保每个组内的行是你想要的顺序; - 用
ARRAYFORMULA(COUNTIF(A14:A44, A14:A44))给每个App ID的行按出现顺序编号——比如第一个App ID的前两行会被标为1、2,第三行开始是3; - 最后用
FILTER筛选出编号<=2的行,就实现了每组只留前2行的效果。
灵活调整
- 要保留前X行?把公式里的
2改成你需要的数字即可; - 如果排序规则变了,直接修改
QUERY里的ORDER BY参数就行。
内容的提问来源于stack exchange,提问作者IMTheNachoMan
相关产品推荐
相关产品推荐

