我们在 Google 表单中创建了一个简单的测验,有 3 个问题,每个正确答案给您 10 分。因此,可以在测验中获得的最高分数为 30 分。
当有人参加测验并提交表单时,响应会记录在 Google 表格中,该表格设置为您的 Google 表格的响应目标。
这里也有一些有趣的东西。如果关联的表格是测验,Google 表格会自动在响应表中添加一个标题为“分数”的额外列,并且该列将填充回答者在测验中获得的总分。
将测验分数转换为百分比
老师可能想要计算学生在测验中获得的百分比分数并相应地分配成绩。这可以在 Google 表格中的数组公式的帮助下轻松完成,但在我们到达那里之前,让我们看看如何将测验分数(例如,20/30)转换为百分比。
提取获得的分数
至少有三种方法可以提取从单元格 B2 获得的测验分数。让我们探索其中的一些。
REGEXREPLACE
函数将用另一个值替换与RegEx匹配的任何字符串值。在这里,我们从单元格中第一个不是数字的字符开始,匹配所有内容,直到字符串的末尾,然后用空格替换它。因此斜线 (/) 和斜线之后的所有内容都被替换了,我们只剩下分数了。
= REGEXREPLACE ( TO_TEXT ( B2 ) , "\D.+$" , "" )
对于第二种方法,我们使用SPLIT
函数对 score 列中的文本进行拆分,以斜线作为分隔符,然后使用INDEX
函数获取包含分数的拆分数组的第一个值。
= INDEX ( SPLIT ( B2 , "/" ) , 1 )
在下一个方法中,我们使用SEARCH
函数来确定斜线在单元格中的位置,并使用LEFT
函数来获取斜线之前的所有内容。
= LEFT ( B2 , SEARCH ( "/" , B2 ) - 1 )
提取总测验分数
我们可以使用类似的方法来获得测验的最高分数,该数字位于分数列中的斜线之后。
= REGEXREPLACE ( TO_TEXT ( B2 ) , "\d.+/" , "" ) = INDEX ( SPLIT ( B2 , "/" ) , 2 ) = RIGHT ( B2 , SEARCH ( "/" , B2 ) - 1 )
计算测验百分比
现在我们有公式可以分别提取测验分数和总分,我们可以将它们结合起来得到百分比分数。
您的选择是:
= REGEXREPLACE ( TO_TEXT ( B2 ) , "\D.+$" , "" ) / REGEXREPLACE ( TO_TEXT ( B2 ) , "\d.+/" , "" ) = INDEX ( SPLIT ( B2 , "/" ) , 1 ) / INDEX ( SPLIT ( B2 , "/" ) , 2 ) = LEFT ( B2 , SEARCH ( "/" , B2 ) - 1 ) / RIGHT ( B2 , SEARCH ( "/" , B2 ) - 1 )
右键单击分数列,从上下文菜单中选择Insert 1 column left
,然后将上述任何公式粘贴到单元格 C2 中。然后,您可以将公式复制到包含测验响应的其他行。
自动复制下测验分数百分比
前一种方法的一个缺点是,每次提交新测验时,您都必须在行中添加公式。
该问题的一个简单解决方法是复制公式向下方法,该方法将在提交新的测验表单时自动添加公式。
转到单元格 C1 并粘贴下面的公式。
= ArrayFormula ( IF ( ROW ( B : B ) = 1 , "Percentage" , IF ( NOT ( ISBLANK ( B : B ) ) , LEFT ( B : B , SEARCH ( "/" , B : B ) - 1 ) / RIGHT ( B : B , SEARCH ( "/" , B : B ) - 1 ) , ) ) )
它查看行索引,如果是第一行,则添加列标题。接下来,它检查 B 列中是否有分值,然后计算百分比分数。
接下来,选择 C 列,转到“ Format > Number > Percent
”以正确格式化计算的百分比。
您还可以Document Studio根据测验分数发送证书。
原文: https://www.labnol.org/google-forms-quiz-score-percentage-220806