我在 Google Sheet 中有一组列,用于计算两次之间的平均持续时间。我想根据X
计算出的平均值计算标有 的单元格中的分数。目标是给最快的人奖励 75 分,给第二名奖励 50 分,给第三名奖励 25 分。在下面的例子中,这意味着黄色的分数单元格将是 75 分,绿色的将是 50 分,蓝色的将是 25 分。
跑步 | 最快时间 | 最慢时间 | 平均的 | 分数 |
---|---|---|---|---|
绿色的 | 10:02:01 | 17:22:11 | 13:42:06 | X |
蓝色的 | 10:07:08 | 18:22:12 | 14:14:40 | X |
黄色的 | 10:11:09 | 16:07:11 | 13:09:10 | X |
我假设应该使用某种VLOOKUP
或IF
函数,但考虑到平均值之间的比较,我不确定如何将函数组合在一起。如何根据其他单元格的比较来计算单元格值?
答案1
尝试使用 RANK 和 IF 函数来为前 3 名分配分数。参见示例。下面的公式用于 E2 单元格,如我的示例所示。根据您的需要进行调整。D$2:D$4 是您想要比较结果的单元格范围。
=IF(RANK(D2,D$2:D$4,1)=1,75,IF(RANK(D2,D$2:D$4,1)=2,50,IF(RANK(D2,D$2:D$4,1)=3,25,"Not on top 3")))
对于最快平均时间,它将返回 75;对于第二名,它将返回 50;对于第三名,它将返回 25;对于其余,它将返回“未进入前 3 名”。
根据此公式,如果有两个完全相同的时间,他们将获得相同的分数(如果两个队伍共享最快的时间,则他们将同时获得 75 分,然后下一个队伍将获得 25 分。不会授予 50 分)
答案2
据我了解,您想要获得 3 个最快的数字并将分数与它们关联起来。
最快的
=IF(SMALL($A$1:$A$8;3 )=A1;"Third";
IF(SMALL($A$1:$A$8;2)=A1;"Second";
IF(SMALL($A$1:$A$8;1)=A1;"First";"No points for you")))
最慢
=IF(LARGE($A$1:$A$8;3 )=A1;"At least beat 2";
IF(LARGE($A$1:$A$8;2)=A1;"Not the slowest";
IF(LARGE($A$1:$A$8;1)=A1;"Slowest";"No points for you")))
现在您需要将其用于最慢的列,尽管您还需要另一列。您可以隐藏两者,并在第三列上使用 if 来反映这些列的内容,如下所示
=IF(B1="No points 4 you";C1;IF(C1="No points 4 you";B1;B1))
这是我的设置图片,您可以根据自己的情况进行编辑
再见