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

如何计算选手最近10轮非空赛事得分的平均值?

嘿,这个问题我之前帮不少朋友处理过——空白单元格确实会打乱“取最近10轮”的逻辑,不过咱们用函数组合就能完美解决,不管你用的是新版Excel、旧版Excel还是Google Sheets,都有对应的方案,我给你详细拆解:

方法一:新版Excel专属(Excel 365/2021,支持动态数组)

直接用FILTER+TAKE+AVERAGE的组合公式,逻辑清晰还不容易出错:

=AVERAGE(TAKE(FILTER(B2:X2, NOT(ISBLANK(B2:X2))), -10))
  • 第一步:FILTER(B2:X2, NOT(ISBLANK(B2:X2))) 筛选出当前行所有非空的得分(不管是真正的空白还是公式返回的空文本,NOT(ISBLANK)都能识别)
  • 第二步:TAKE(..., -10) 从筛选结果里取出最后10个值(也就是最近的10轮有效得分)
  • 第三步:AVERAGE 计算这10个值的平均值,如果有效得分不足10轮,会自动计算现有所有有效得分的平均,不会报错
方法二:旧版Excel兼容方案(2019及以前版本)

旧版Excel不支持动态数组,得用数组公式实现,输入完成后要按Ctrl+Shift+Enter触发计算:

=AVERAGE(INDEX(B2:X2, SMALL(IF(B2:X2<>"", COLUMN(B2:X2)-COLUMN(B2)+1), MAX(1, COUNT(B2:X2)-9))):INDEX(B2:X2, SMALL(IF(B2:X2<>"", COLUMN(B2:X2)-COLUMN(B2)+1), COUNT(B2:X2))))
  • 核心逻辑:先标记所有非空单元格的位置,再用SMALL定位到最后10个非空单元格的首尾,最后通过INDEX锁定区域计算平均值
  • MAX(1, COUNT(B2:X2)-9) 是为了避免当有效得分不足10轮时出现错误,确保从第一个有效得分开始计算
方法三:Google Sheets适配版

Google Sheets原生支持动态数组函数,直接用和新版Excel一样的公式即可:

=AVERAGE(TAKE(FILTER(B2:X2, NOT(ISBLANK(B2:X2))), -10))

小提示

如果你的空白单元格是由公式返回的空字符串(比如=""),可以把筛选条件改成B2:X2<>"",公式调整为:

=AVERAGE(TAKE(FILTER(B2:X2, B2:X2<>""), -10))

这样就能兼容所有空白场景啦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:30:08