如何在Google Sheets中忽略A列重复值计算B列对应值的平均值?
解决Google Sheets中排除A列重复值对应B列数值的平均值计算问题
我来帮你搞定这个需求,要计算B列平均值但排除A列重复值对应的B项,你可以用下面两种简洁的公式实现,都能得到你想要的5这个结果:
方法一:VLOOKUP + UNIQUE组合
在B1单元格输入以下公式:
=AVERAGE(VLOOKUP(UNIQUE(FILTER(A2:A, A2:A<>"")), A2:B, 2, FALSE))
逻辑拆解:
FILTER(A2:A, A2:A<>""):先过滤掉A列的空单元格,避免干扰计算;UNIQUE(...):提取A列中所有不重复的条目,确保每个A值只被统计一次;VLOOKUP(...):针对每个唯一的A值,精确匹配对应行的B列数值;AVERAGE(...):对这些去重后的B值计算平均值,完美排除了A列重复项对应的多余B数据。
方法二:QUERY函数实现
如果你习惯用QUERY语句,这个公式同样可行:
=AVERAGE(QUERY(A2:B, "select B where A is not null group by A", 0))
逻辑拆解:
- QUERY语句里的
select B where A is not null:筛选出A列非空的行并提取B列数据; group by A:按A列的值分组,自动把同一A值对应的行合并,每个组只保留一个B值(默认取该组的第一个B值);- 最后用AVERAGE计算这些分组后的B值平均值,结果同样符合预期。
这两个公式都能替代直接的=AVERAGE(B2:B)(得到4.7777),精准得到你要的5这个结果。
内容的提问来源于stack exchange,提问作者Falcon4ch
相关产品推荐
相关产品推荐

