跳到主要内容

常用示例

按场景选择规则,把题号换成当前问卷的实际标签。每个代码块是一种独立用法,不要把所有示例一起粘贴。

选择“需要”后显示并必填

Q1A1 是“需要发票”,Q2 是发票抬头:

if Q1A1 then show Q2
if Q1A1 then required Q2

任一选项满足就显示一组题

if OR(Q1A1,Q1A2) then show Q2~Q5

显示 Q2 至 Q5,包含两端。

隐藏题目或选项

选中 Q1A1 时隐藏题目 Q2:

if Q1A1 then hide Q2

选中 Q1A1 时隐藏选项 Q2A1,使用相反条件的 show

if NOT(Q1A1) then show Q2A1

矩阵和题组

Q1 是矩阵选择题,第 1 行第 1 列选中时显示 Q2:

if Q1S1A1 then show Q2

在题组 1 中选中第 1 题第 1 项时,显示后面的两道题:

if QS1Q1A1 then show QS1Q2~QS1Q3

跳过题目或提前结束

if Q1A1 then branch from Q1 to Q5

如果需要跳过所有后续题目:

if Q1A2 then branch from Q1 to END

END 不会自动提交答卷,见跳转和结束

计算金额

Q1 是数量,Q2 是单价,Q3 是合计,均为数字填空题:

assignment Q3 with ROUND(DEFAULT(Q1,0)*DEFAULT(Q2,0),2)

未填写的数值按 0 计算,合计保留两位小数。

按分数生成等级

Q1 是数字填空题,Q2 是保存等级的填空题:

assignment Q2 with IFS(Q1<60,"不合格",Q1<80,"合格","优秀")

Q1 未填写时暂不计算;填写后按分数得到等级。

数值、跨题和数量校验

Q2 是数字填空题,要求大于 0 且不超过 100:

validate Q2 with IF(DEFAULT(Q2,0)<=0,"请输入大于0的数字",IF(DEFAULT(Q2,0)>100,"不能超过100",""))

Q1、Q2 是必填的数字填空题,Q2 不能超过 Q1:

validate Q2 with IF(Q2>Q1,"不能超过上一题的数值","")

Q2 是普通多选题,至少选择两项:

validate Q2 with IF(COUNT(Q2)>=2,"","请至少选择两项")

更多用法见校验答案

图片中包含指定关键词

Q2 是已开启通用 OCR 的上传题:

validate Q2 with IF(OR(INCLUDE("xxx",Q2OCR1),INCLUDE("yyy",Q2OCR1)),"","请上传包含xxx或yyy的图片")

识别到任意一个关键词就通过。消防证书示例、全部关键词校验、识别文字赋值和导出说明见 OCR 图片校验

把姓名带入后续题目标题

Q1 是姓名填空题:

replace Q2 with CONCATENATE(DEFAULT(Q1,"访客"),",请填写联系方式")

未填姓名时显示“访客,请填写联系方式”。