下拉复选框得分设置

1. 简介

1.1 案例简介

下拉复选框 目前的逻辑为:勾选多个选项之后,选项的存储排序是按照勾选顺序来排列的,而不是按照选项本身的顺序来排列的。即:下拉复选框依次勾选了「B、C、A」之后,存储起来的排序就是「B、C、A」,而不是「A、B、C」。

因此在通过下拉复选框制作题库时,使用 IF 函数IF(问题=="选项一,选项二,选项三",分数,0) 」计算得分就会出现偏差,故本篇文档将介绍一种通过 COUNT 函数 来计算得分的方法。

1.2 使用场景

需要使用下拉复选框字段制作题目并计算得分的场景。

1.3 预期效果

2. 操作步骤

2.1 表单配置

表单内添加一个下拉复选框用来选择答案,一个单行文本记录该多选题的正确答案,一个数字字段计算得分(这里用正确得 10 分,否则得 0 分举例)。

2.2 设置正确答案字段

设置正确答案为辅助字段用于在得分公式中与选择的答案进行对比,在表单设计 >> 正确答案字段 >> 字段属性>> 默认值处填写问题的正确答案。

注:正确答案间需要有英文逗号间隔,不要求答案顺序。

如字段设置为不可见,则一定要在表单属性中修改「不可见字段赋值」属性为「始终重新计算」。

已知答案正确有 2 个条件:

  • 选择的答案个数和正确答案个数相同
  • 选择的答案选项是正确答案的子集

2.3 判断答案个数

答案正确首先应该满足「条件 1:选择的答案个数和正确答案的个数相同」,因此可以通过 COUNT函数 来计算出 2 个答案的个数,即满足公式:

COUNT(请选择答案)==COUNT(SPLIT(正确答案,',')

表示选择的答案个数和正确答案的个数相同;

其中 SPLIT函数 用于将正确答案的文本字段用英文逗号分割成数组。

2.4 判断答案选项

在满足 2 个答案个数相同的情况下,我们还需要判断答案的选项是否一致。

假设正确答案是「A、B、C」,选择的答案是「A、B、E」,则答案的选项是不一致的,因此我们考虑将正确答案和选择答案组合在一起去重,去重之后组合为「A、B、C、E」,选项个数为 4 个,和正确答案个数不符,则判断为错误;

如选择的答案是「A、B、C」,此时将正确答案和选择答案组合在一起去重之后,组合为「A、B、C」,选项个数是 3 个,等于正确答案个数,则判断为正确。

因此想要答案正确还应该满足「条件 2:选择的答案和正确答案组合去重之后,答案个数应该等于正确答案个数」,即需要满足公式:

COUNT(UNION(SPLIT(正确答案+','+请选择答案,',')))==COUNT(SPLIT(正确答案,','))

表示选择的答案和正确答案组合去重之后,答案个数等于正确答案个数;

其中 UNION函数 可以将文本内的重复数据自动剔除。

2.5 设置得分字段

综上,在设置得分字段的公式时,用 IF函数 将两个条件添加进去即可,得分字段设置公式为:

IF(AND(COUNT(请选择答案)==COUNT(SPLIT(正确答案,',')),COUNT(UNION(SPLIT(请选择答案+','+正确答案,',')))==COUNT(SPLIT(正确答案,','))),10,0)

表示当同时满足条件 1 和条件 2 时,得分为 10,否则不得分。

注:操作步骤中的公式复制后不可直接使用,字段调用处需进行手动替换。

3. 注意事项

复选框组 可以通过 IF函数IF(问题=="选项一,选项二,选项三",分数,0)」计算得分,不受选项点击顺序的影响。

本文是否对您有帮助?
 有帮助
 没帮助
您是否遇到了以下问题?
如需获取即时帮助,请联系技术支持