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

Excel 2010中计算最近90天指定列平均值的函数问题

嗨,我来帮你搞定这个问题!你用AVERAGEIFS时出错,大概率是犯了一个新手常踩的小坑——忘记用连接符把条件文本和日期计算结果拼起来了,另外咱们也得兼顾Excel 2010和Google Sheet的适配情况,下面一步步说:

问题解决步骤

1. Excel 2010 里的正确公式

你原来的公式逻辑没问题,但Excel没法直接识别">="today()-90这种写法,得用&把条件符号和函数结果连接成完整的判断条件。修正后的公式是:

=AVERAGEIFS(B:B, A:A, ">="&TODAY()-90, A:A, "<="&TODAY())

额外注意点:

  • 先确认A列单元格是日期格式,如果是文本格式,日期判断会完全失效,可通过右键→设置单元格格式来调整。
  • 如果B列的VLOOKUP返回了#N/A这类错误值,会导致AVERAGEIFS出错,建议把B列的VLOOKUP改成:=IFERROR(VLOOKUP(你的原参数), 0),用0或者空值替代错误,避免影响平均值计算。
  • 旧版Excel对整列引用(比如B:B)的支持不算太好,如果你数据量不大,可以把范围缩小成具体的单元格区间,比如B1:B500,能提升计算效率。

2. Google Sheet 里的两种可选公式

Google Sheet的逻辑和Excel类似,但还有更灵活的写法:

方法一:修正后的AVERAGEIFS

=AVERAGEIFS(B:B, A:A, ">="&TODAY()-90, A:A, "<="&TODAY())

方法二:用FILTER更稳妥(自动排除错误值)

如果B列有VLOOKUP返回的错误值,用FILTER先筛选有效数据再计算平均值会更可靠:

=AVERAGE(FILTER(B:B, A:A >= TODAY()-90, A:A <= TODAY(), ISNUMBER(B:B)))

这个公式会先挑出符合日期范围且B列是有效数值的单元格,再计算平均值,完全不用怕错误值捣乱。

3. 最后再检查两个细节

  • 确认A列的日期是不含周末的,但咱们的公式是按自然日的90天来筛选的,只要A列里在这个时间范围内的日期都会被纳入计算,这和你的需求匹配。
  • 如果实际需要的是90个工作日(不是自然日),那得换成WORKDAY函数调整日期条件,但看你的描述应该是自然日,所以不用改。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:16:28