问卷星的题目支持通过计算公式来进行赋值或判断,计算公式的写法同Excel基本完全一致,支持的 Excel函数也非常丰富。
所以我们可以通过问卷星的计算公式,实现非常多、非常复杂的业务逻辑。比如:从身份证号码中提取出生日期、性别、年龄,三个题目中两个或三个题目都选了前两个选项的作答者不能继续作答问卷。
题目引用方式
在Excel中我们采用A1,B2这些单元格标号来引用某个单元格的内容。
而在问卷星的计算公式中,可以使用 [q1] 、[q2] 的方式,引用第一题、第二题作答的内容。
如果题目是矩阵题,[q1_1] 代表第1题第1行这个小题,[q1_2] 代表第1题第2行这个小题。
如果题目是表格题,[q1_1_1] 代表「第1题第1行第1列」这一空,[q1_1_2] 代表「第1题第1行第2列」这一空,[q1_2_1] 代表「第1题第2行第1列」这一空。
如果使用了评分题,只想获取这个作答题目的分值,而不是选择的选项内容,可以使用[q1_value]、[q2_value]的输入方式,分别代表第一题的分值和第二题的分值。
单元格格式
Excel中有单元格格式概念,比如数值、字符串、日期等。
在问卷星计算公式中,获取到的默认为字符串,如果想当做数值来进行运算,可以将参与计算题目的属性验证为「整数」或「小数」。
属性验证为数值如果只进行简单的「加、减、乘、除」的运算,不需要设置属性验证也可以直接进行计算,采用[q1_value]来获取的分值,也可以直接进行计算。除此之外,进行数值运算时都需要注意数据格式的问题。
在这里,十分推荐采用函数的方式来进行计算,比如:用SUM([q1],[q2]) 而不是 [q1]+[q2]。
单元格区域怎么用
在Excel中,我们采用 A1:A10 的写法,可以选中一个单元格区域。
在问卷星的计算公式中,没有单元格区域的概念。但是可以采用数组的方式来模拟一个单元格区域。如:
在A1单元到A10单元格分别是:1,2,3,4,5,6,7,8,9,10的情况下,["1","2","3","4","5","6","7","8","9","10"] 这样就等同于A1:A10。
同时这个数组中,也可以引用前面题目中的信息,作为数组中的内容,如:[[q1_1_1],[q1_1_2],[q1_1_3],[q1_2_1],[q1_2_2],[q1_2_3]]。
填空题的赋值和判断
填空题计算公式的执行逻辑,分为「赋值」和「判断」:
1、赋值,就是将计算公式的计算结果,填充到填空题的输入框中。而不需要填写者手动填写。
2、判断,判断计算公式的结果是True,还是False。如果是True的话,就认为用户输入的内容符合要求,如果是False的话,就认为用户输入的内容不符合要求。并且可以抛出自定义的错误提示。
image.png从上面的逻辑可以看出,执行「赋值」逻辑时,当前题目是不能参与计算的,而执行「判断」逻辑时,当前是必须参与计算的。
注意:在输入「判断」逻辑的计算公式时,系统已经在外层增加了if函数,所以直接写判断表达式就可以了。
选择题的赋值和判断
选择题的计算公式,分为「题目表达式」和「选项表达式」:
1、题目表达式,用户只需要输入一个计算公式,计算公式的结果和哪一个选项内容完全相同,就会自动选中对应那个选项。
2、选项表达式:用户需要针对每个选项都输入一个计算公式,执行时会按选项顺序依次执行,哪一个计算公式结果为True,就选中这个选项,并停止继续向下执行。同填空题的「判断」相同,系统已经在最外层增加了一个if函数,所以只需要输入判断表达式就可以了。
3、选项表达式的禁止继续作答:选项表达式还支持选中该选项后,不允许继续作答下一页或提交答卷,并且还可以在指定题目,抛出自定义的错误提示。
选项表达式的禁止继续作答隐藏题目和是否允许修改
1、执行「赋值」逻辑时,针对计算公式自动作答的题目,可以选择是否允许填写者进行修改。默认为不允许修改。
image.png2、为了实现复杂的逻辑,我们可能会增加一些题目作为计算过程。这些题目的数据,由计算公式计算赋值 ,不需要用户手动输入,所以可以将这些类型的题目,设置为隐藏状态。
隐藏题目结尾
本篇文章仅是问卷星计算公式的一个大体介绍,接下来会有一个系列的文章。每篇文章会介绍一种计算公式实际可以解决的问题、解决问题的方法。部分零散的使用要点,也会在这些文章中给出。
网友评论