语法规则
两种句式
按条件执行动作: 显示、隐藏、必填和跳转用 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)
书写要求
| 项目 | 要求 |
|---|---|
| 换行 | 一行一条规则;自动折行不影响,手动换行会拆开规则 |
| 关键字 | 小写:if、then、show、validate、with 等 |
| 函数名 | 使用大写:IF、AND、OR、SUM 等 |
| 符号 | 英文括号、逗号和引号 |
| 文本 | 加引号,例如 "请输入姓名";空字符串写 "" |
| 相等判断 | 使用 ==,不要用单个 = |
| 注释 | 单独一行,以 # 开头;不要在规则末尾追加注释 |
# 需要发票时显示抬头
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) |