题目、选项和题组标签
高级逻辑使用 Q1、Q1A1、QS1Q1 等界面标签引用问卷对象。编写时应点击右侧预览中的标签,或从自动补全列表中选择。
普通题目和选项
| 标签 | 含义 | 典型用途 |
|---|---|---|
Q1 | 第 1 道题 | 读取答案、控制题目、参与计算 |
Q1A1 | 第 1 道题第 1 个选项 | 判断选中状态、控制选项 |
Q1A1~Q1A4 | 第 1 道题第 1 到第 4 个选项 | 批量显示连续选项 |
if Q1A1 then show Q2
assignment Q3 with SUM(Q1,Q2)
题组
题组标签以 QS 开头:
| 标签 | 含义 |
|---|---|
QS1 | 第 1 个题组 |
QS1Q1 | 第 1 个题组里的第 1 道题 |
QS1Q1A1 | 题组 1 的第 1 道题第 1 个选项 |
QS1Q1~QS1Q3 | 题组 1 内连续的第 1 到第 3 道题 |
if QS1Q1A1 then show QS1Q2
矩阵题
矩阵标签用 S 表示行,用 A 表示列或选项:
| 标签 | 含义 |
|---|---|
Q1S1 | 第 1 道矩阵题的第 1 行 |
Q1S1A1 | 第 1 行第 1 列的单元格或选项 |
QS1Q1S1 | 题组 1 内第 1 道矩阵题的第 1 行 |
QS1Q1S1A1 | 题组内矩阵题第 1 行第 1 列 |
if Q1S1A1 then show Q2
矩阵单选或多选单元格被选中时返回 true,未选中时返回 false。矩阵填空或评分单元格返回对应的填写值。
标签在不同位置的含义
同一个标签会根据使用位置产生不同作用:
- 放在
if条件中:读取答案、选中状态或数值。 - 放在
show、hide、required后:作为动作目标。 - 放在
assignment ... with ...的with后:作为公式输入。 - 放在
branch from/to中:作为跳转起点或终点。
文本、分值和默认值
| 写法 | 含义 |
|---|---|
TEXT(Q1) | 返回题目答案文本或选项文本 |
SCORE(Q1) | 返回题目分值 |
COUNT(Q1) | 统计多选数量或数组长度 |
| `Q1 | 0` |
| `Q1A1 | 222` |
DEFAULT(Q1A1,222) | 与上一行相同的函数写法 |
连续范围
范围使用 ~,并且两端都要写完整标签:
if Q1A1 then show Q2~Q5
if Q1A1 then show Q2A1~Q2A4
if Q1A1 then show QS1Q1~QS1Q3
Q2~5、Q2A1~4 等简写无法通过语法检查。
底层变量
点击 保存 后,界面标签会转换成内部变量,例如:
| 界面标签 | 底层形式示意 |
|---|---|
Q1 | #{题目ID} |
Q1A1 | #{题目ID.选项ID} |
Q1S1 | #{题目ID.$行ID} |
Q1S1A1 | #{题目ID.$行ID.选项ID} |
正常编写时继续使用右侧预览显示的标签。branch from/to 只接受界面标签或 END,不要填 #{...}。
调整问卷结构后
题目 ID 不会因为排序自动重建,但界面编号和跳转范围会按新顺序展示。移动题目、调整题组或修改矩阵结构后:
- 重新打开 高级逻辑。
- 对照右侧预览检查每个标签。
- 修复编辑器中显示为“问题不存在”“选项不存在”或红色错误的行。
- 重新测试所有跳转和连续范围。