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

Google Sheets模拟赛车积分公式优化:修复积分计算异常问题

模拟赛车联赛车手积分计算公式修复需求

积分计算规则

我需要在Google Sheets中计算模拟赛车联赛车手积分,规则如下:

  • 基础积分:通过VLOOKUP根据车手完赛位置从积分体系表中获取
  • 追加积分:
    • 车手为本组别(Hypercar/GT3)超车数最高,加1分
    • 车手为本组别发车位置最高,加1分
    • 车手为本组别完赛位置最高,加2分

原公式存在的问题

最初编写的公式:

=IFERROR(VLOOKUP(RaceFinishPosition,Points_System,2,FALSE)+IF(PosGained=MAXIFS(PosGained,Class,"Hypercar"),1,0)+IF(PosGained=MAXIFS(PosGained,Class,"GT3"),1,0)+IF(RaceFinishPosition=MINIFS(RaceFinishPosition,Class,"Hypercar"),2,0)+IF(RaceFinishPosition=MINIFS(RaceFinishPosition,Class,"GT3"),2,0)+IF(StartingPosition=MINIFS(StartingPosition,Class,"Hypercar"),1,0)+IF(StartingPosition=MINIFS(StartingPosition,Class,"GT3"),1,0),IF(ISNUMBER(StartingPosition),0,))

有两个明显问题:

  1. 当某组别所有车手超车数为0时,该组所有车手都会被错误加1分
  2. 若两个组别超车数最高的数值相同,会跨组别各加1分,导致重复累计2分

修正公式的遗留问题

之后有人提供了修正公式:

=vlookup(G6,Overview!G$3:H$22,2,)+ if((E6<>0)*(E6=maxifs(E$6:E$18,C$6:C$18,C6)),1,)+ if(G6=minifs(D$6:D$18,C$6:C$18,C6),1,)+ if(G6=minifs(G$6:G$18,C$6:C$18,C6),2,)

这个公式解决了原公式的两个问题,但无法正确计算「本组别发车位置最高加1分」的规则,需要进一步修复。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 12:14:59