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

Excel无辅助列单公式求平均得分最高公司(非零计数平均规则)

无需辅助列,用单个公式找出平均得分最佳的公司

先把你的数据整理成清晰的表格:

CompanyScore 1Score 2Score 3
Apple543
Banana366
Kiwi051

规则说明

平均得分的计算方式是非0分数的总和除以非0分数的个数:比如Kiwi的得分总和是0+5+1=6,大于0的分数有2个,所以平均得分为6/2=3(而非(0+5+1)/3=2)。我们的目标是不用任何辅助列,仅用一个公式找出平均得分最高的公司(示例中是Banana)。


公式方案(分Excel版本)

1. 兼容所有Excel版本的数组公式

如果你用的是旧版Excel(2019及以前),可以用这个数组公式(输入后按Ctrl+Shift+Enter确认):

=INDEX(A:A,MATCH(MAX((B2:D4)/(B2:D4>0)),MMULT((B2:D4)/(B2:D4>0),TRANSPOSE(COLUMN(B2:D4)^0))/MMULT(--(B2:D4>0),TRANSPOSE(COLUMN(B2:D4)^0)),0))

2. Excel 365/2021 简洁版(动态数组)

新版Excel支持动态数组和BYROW函数,公式更易读:

=INDEX(A2:A4,MATCH(MAX(BYROW(B2:D4,LAMBDA(r,SUM(FILTER(r,r>0))/COUNTA(FILTER(r,r>0))))),BYROW(B2:D4,LAMBDA(r,SUM(FILTER(r,r>0))/COUNTA(FILTER(r,r>0)))),0))

公式逻辑解释(以BYROW版本为例)

  • BYROW(B2:D4,LAMBDA(r,...)):遍历表格中每一行的得分数据,r代表当前行的得分区域
  • FILTER(r,r>0):筛选出当前行中所有大于0的分数,自动忽略0分
  • SUM(FILTER(...))/COUNTA(FILTER(...)):计算当前行的非0分数总和除以个数,得到平均得分
  • MAX(...):从所有行的平均分中找出最高值
  • MATCH(...):定位到最高平均分所在的行号
  • INDEX(A2:A4,...):根据行号提取对应的公司名称

这样就能一步到位得到你想要的最佳公司啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 09:54:08