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

如何用AVERAGE(INDEX,MATCH)计算指定机组最后182行的日均公里数?

解决方案:计算Excel表格中指定列最后182行的平均值

方案1:Excel 365/2021 版本(推荐,简洁高效)

使用TAKE函数直接截取对应列的最后182行,再计算平均值:

=AVERAGE(TAKE(INDEX(Table1[#Data],,MATCH(B5, Table1[#Headers], 0)), -182))

逻辑说明:

  • MATCH(B5, Table1[#Headers], 0):定位Table2中B5单元格的机组编号在Table1表头中的列位置;
  • INDEX(Table1[#Data],,列位置):提取对应机组的所有每日公里数数据行(排除表头);
  • TAKE(..., -182):从数据列的末尾向前取182行,若数据行数不足182,则自动取全部现有行;
  • AVERAGE:计算截取区域的平均值。

方案2:兼容旧版Excel(无TAKE/LET函数)

如果你的Excel版本不支持新函数,用嵌套INDEX+COUNTA实现:

=AVERAGE(INDEX(INDEX(Table1[#Data],,MATCH(B5,Table1[#Headers],0)),MAX(1,COUNTA(INDEX(Table1[#Data],,MATCH(B5,Table1[#Headers],0)))-181)):INDEX(INDEX(Table1[#Data],,MATCH(B5,Table1[#Headers],0)),COUNTA(INDEX(Table1[#Data],,MATCH(B5,Table1[#Headers],0)))))

逻辑说明:

  • 重复的MATCH函数负责定位机组对应的列;
  • COUNTA(...)统计该列的有效数据行数(即已录入的天数);
  • MAX(1, 行数-181):确保当数据不足182行时,起始行取第1行,避免出现负数行号;
  • 前后两个INDEX分别定位起始行和结束行,形成计算范围后取平均。

关键注意事项

  • 确保Table1中每个机组的数据列无中间空行,否则COUNTA会无法准确统计总行数;
  • 新增数据行后,公式会自动更新COUNTA的结果,从而自动截取最新的182行数据;
  • 结构化引用(Table1[#Data]、Table1[#Headers])确保公式不受表格行列调整的影响。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 17:45:31