You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:Excel多条件平均值计算(Averageifs公式结果异常)

解决Excel中多条件平均值计算(G列为C/P且H列>0)

先把你的示例数据整理成更清晰的表格,方便核对结果:

Column GColumn H
C$153.00
L$(25.00)
P$(10.00)
S$15.00
C$20.00
L$100.00
P$(50.00)
S$(150.00)
C$(50.00)
P$(52.00)
L$75.00
S$(75.00)
C$50.00
P$75.00
L$150.00
S$(10.00)

先说说你之前尝试的公式为啥不对:

  • 第一个AVERAGE(AVERAGEIFS(...)):用{"C","P"}作为条件时,AVERAGEIFS会分别算出C和P各自符合H>0的平均值,然后AVERAGE再把这两个平均值求平均——这不是所有符合条件单元格的整体平均值,逻辑错了。
  • 第二个AVERAGEIFS(...):普通输入公式只会返回第一个条件(C)的结果,就算按数组键,返回的也是两个单独的平均值,不是整体的。
  • 第三个AVERAGE(IF(ISNUMBER(MATCH(...)))):MATCH的第三个参数写错了(应该是0做精确匹配),而且没加H>0的判断,自然得不到正确结果。

下面给你几个靠谱的解法,适配不同Excel版本:

1. 兼容所有Excel版本:SUMPRODUCT组合法

这个公式不管是旧版还是新版Excel都能用,逻辑清晰:

=SUMPRODUCT(($G$29:$G$1000={"C","P"})*($H$29:$H$1000>0)*$H$29:$H$1000)/SUMPRODUCT(($G$29:$G$1000={"C","P"})*($H$29:$H$1000>0))

原理:

  • 分子:先判断G列是否为C/P、H列是否>0,两个条件都满足时返回1,再乘以对应的H值,最后把所有符合条件的H值求和。
  • 分母:统计同时满足两个条件的单元格数量。
  • 总和除以数量,就是我们要的平均值。

2. 数组公式法(旧版Excel需按Ctrl+Shift+Enter)

如果习惯用数组逻辑,可以用这个公式:

=AVERAGE(IF(($G$29:$G$1000="C")+($G$29:$G$1000="P"),IF($H$29:$H$1000>0,$H$29:$H$1000)))

注意:

  • 旧版Excel输入完公式后,要按Ctrl+Shift+Enter触发数组计算(新版Excel直接回车就行)。
  • 这里用+表示逻辑“或”,先筛选出G列为C或P的行,再嵌套IF筛选出H>0的数值,最后求平均。

3. 新版Excel专属:FILTER+AVERAGE(最简洁)

如果你用的是Excel 365或2021版本,直接用FILTER函数筛选符合条件的数据,再求平均,直观又好写:

=AVERAGE(FILTER($H$29:$H$1000,($G$29:$G$1000={"C","P"})*($H$29:$H$1000>0)))

原理:FILTER直接把满足「G是C/P且H>0」的H列数据筛选出来,AVERAGE直接计算这些数据的平均值,一步到位。

最后验证下结果:你的示例里符合条件的H值是153、20、50、75,总和298,平均值74.5,用上面任意一个公式都能得到这个正确结果。

内容的提问来源于stack exchange,提问作者Scint

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 06:57:34