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

如何用Excel AverageIf函数计算多列周一销售额的总平均值?

这问题我之前也碰到过!AVERAGEIF在处理多列的average_range时确实有坑——它只会默认计算和range对应的第一列数据,所以你的公式只算出了三月(B列)的周一平均值。给你几个靠谱的解决办法:

解决方法

方法1:数组公式(简洁直观,推荐给新版Excel用户)

如果你用的是Excel 365/2021或更新版本,直接输入这个公式即可:

=AVERAGE(IF(A2:A200=1,B2:C200))

要是用的是2019及更早的旧版Excel,输入完公式后需要按下 Ctrl+Shift+Enter 来触发数组计算。

原理

IF(A2:A200=1,B2:C200)会筛选出所有周一对应的三月(B列)和四月(C列)销售额,AVERAGE函数会自动忽略非数值结果,直接计算所有符合条件的销售额的平均值。

方法2:SUMPRODUCT函数(兼容性拉满,全版本通用)

这个方法适合所有Excel版本,不需要按组合键,直接输入就行:

=SUMPRODUCT((A2:A200=1)*(B2:C200))/SUMPRODUCT((A2:A200=1)*2)

逻辑拆解

  • 分子SUMPRODUCT((A2:A200=1)*(B2:C200)):把所有周一对应的B、C列销售额全部累加,得到总销售额。
  • 分母SUMPRODUCT((A2:A200=1)*2):统计周一的总行数,再乘以2(因为每个周一对应B、C两列数据),得到参与计算的总数据个数。
  • 总销售额除以总个数,就是所有周一(三月+四月)的销售额平均值。

方法3:加权平均法(分步清晰,易理解)

如果你希望逻辑更直白,可以分别计算两列的周一平均值,再做加权平均:

=(AVERAGEIF(A2:A200,1,B2:B200)*COUNTIF(A2:A200,1) + AVERAGEIF(A2:A200,1,C2:C200)*COUNTIF(A2:A200,1))/(COUNTIF(A2:A200,1)*2)

原理

用每列的周一平均值乘以该列周一的数据个数,相加得到总销售额,再除以两列的总数据个数,最终得到整体平均值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:47:40