Google Sheets函数需求:按唯一ID获取平均金额Top2国家
解决方案
针对跨国家跟踪唯一ID数据、筛选指定ID平均金额Top2国家的需求,以下是两种实现方式(含你提到的INDEX/FILTER/SORT组合方案):
1. 先设置唯一ID下拉菜单
选中要放置下拉菜单的单元格(比如E1),通过「数据验证」设置序列来源为UNIQUE(A:A),即可生成唯一ID的下拉选择列表。
2. 核心公式实现
方式一:用QUERY函数(更简洁直观)
在目标单元格(比如F2)输入公式:
=INDEX(QUERY(A:C,"SELECT B, AVG(C) WHERE A = '"&E1&"' GROUP BY B ORDER BY AVG(C) DESC LIMIT 2",1),,1)
- 公式逻辑:
- 筛选出与下拉选中ID匹配的所有行
- 按国家分组计算平均金额
- 按平均金额降序排序,取前2条结果
- 提取结果中的国家名称列(若需同时显示平均金额,去掉外层
INDEX(..., ,1)即可)
方式二:用INDEX/FILTER/SORT组合(满足你的函数使用需求)
在目标单元格输入公式:
=INDEX(SORT(UNIQUE(FILTER({B:B, AVERAGEIFS(C:C, A:A, E1, B:B, B:B)}, A:A=E1)), 2, FALSE), {1,2}, 1)
- 公式逻辑:
AVERAGEIFS计算选中ID对应每个国家的平均金额- 组合「国家-平均金额」数组,筛选出选中ID的相关记录
UNIQUE去重得到每个国家的唯一平均金额条目SORT按平均金额降序排序INDEX提取排序后的前2个国家名称
注意事项
- 若ID为数字类型,需移除QUERY公式中
'"&E1&"'的单引号,改为"&E1&" - 建议将数据范围(如
A:C)改为实际数据区域(如A2:C1000),避免空行干扰计算
内容的提问来源于stack exchange,提问作者waroti50
相关产品推荐
相关产品推荐

