跳到主要内容

语法规则

两种句式

按条件执行动作: 显示、隐藏、必填和跳转用 if ... then ...

if Q1A1 then show Q2
if Q1A1 then hide Q3
if Q1A1 then required Q2
if Q1A1 then branch from Q1 to Q5

用公式生成结果: 赋值、校验和改标题用 动作 目标 with 公式

assignment Q3 with SUM(Q1,Q2)
validate Q2 with IF(DEFAULT(Q2,0)>100,"不能超过100","")
replace Q2 with CONCATENATE("你好,",DEFAULT(Q1,"访客"))

这三种动作不要接在 then 后。需要条件时,把 IF(...) 写在 with 后:

assignment Q2 with IF(Q1A1,100,0)

书写要求

项目要求
换行一行一条规则;自动折行不影响,手动换行会拆开规则
关键字小写:ifthenshowvalidatewith
函数名使用大写:IFANDORSUM
符号英文括号、逗号和引号
文本加引号,例如 "请输入姓名";空字符串写 ""
相等判断使用 ==,不要用单个 =
注释单独一行,以 # 开头;不要在规则末尾追加注释
# 需要发票时显示抬头
if Q1A1 then show Q2

多个条件

要求写法
全部满足AND(Q1A1,Q2A1)
满足任意一个OR(Q1A1,Q1A2)
条件取反NOT(Q1A1)
组合判断AND(OR(Q1A1,Q1A2),Q2A1)
if AND(OR(Q1A1,Q1A2),Q2A1) then show Q3

数字可用 ><>=<===!= 比较,用 +-*/% 计算。文本比较示例:

if DEFAULT(Q1,"")=="其他" then show Q2

上例的 Q1 是填空题。判断选择题是否选中某项,直接使用 Q1A1 等选项变量。

多个目标和范围

if Q1A1 then show Q2,Q3,Q4
if Q1A1 then show Q2~Q5
if Q1A1 then show Q2A1~Q2A4
if Q1A1 then show Q2S1~Q2S4
if Q1A1 then show QS1Q1~QS1Q3

逗号表示多个目标,~ 表示连续目标,范围包含两端。选项或矩阵行的范围应在同一道题内。

范围只用于动作目标。求和应写 SUM(Q1,Q2,Q3),不要写 SUM(Q1~Q3)Q2~5 这样的省略写法也不支持。

常用函数

需求示例
条件取值IF(Q1A1,"需要","不需要")
求和、四舍五入SUM(Q1,Q2)ROUND(Q1,2)
拼接文字CONCATENATE("姓名:",DEFAULT(Q1,"未填写"))
判断包含关键词INCLUDE("消防设施操作员",Q1OCR1)
空值用默认值DEFAULT(Q1,0)
统计多选题已选数量COUNT(Q1)
读取选择题答案文字TEXT(Q1)
读取题目分值SCORE(Q1)

更多函数见公式手册。涉及空答案时,先看默认值说明