自动圈选与填充
通过set行为可以实现自动圈选和自动填充逻辑,即根据前面题目的回答情况,自动为后续题目选择选项或填充内容。
set操作支持单选、多选、下拉题的选项自动圈选set操作支持单行文本题、多行文本题的内容自动填充set操作支持矩阵填空题单元格的内容自动填充- 有自动圈选/填充的题目不允许回答者手动修改
- 可以结合
hide将中间变量题目隐藏
基础自动圈选
根据前一题的选择,自动圈选下一题的相应选项
例子
Q1. 您的收入情况是?【单选】Q1
- A. <1000
Q1A1 - B. 1000-5000
Q1A2 - C. 5000-10000
Q1A3 - D. >10000
Q1A4
Q2. 您的人群分类?【单选】Q2
- A. 低收入
Q2A1 - B. 中等收入
Q2A2 - C. 高收入
Q2A3
自定义逻辑
if Q1A1 then set Q2A1 # 收入<1000,自动圈选低收入
if Q1A2 or Q1A3 then set Q2A2 # 收入1000-10000,自动圈选中等收入
if Q1A4 then set Q2A3 # 收入>10000,自动圈选高收入
效果
当答题者在Q1中选择不同的收入选项时,Q2会自动圈选对应的人群分类选项。
结合自定义参数的自动圈选
通过PARAMS函数获取自定义参数,实现基于外部参数的自动圈选
例子
Q1. 您的身份是?【单选】Q1
- A. 高级管理者
Q1A1 - B. 基层管理者
Q1A2 - C. 普通员工
Q1A3
Q2. 您好XXX,您是否愿意接受我们的调研?【单选】Q2
- A. 愿意
Q2A1 - B. 不愿意
Q2A2
自定义逻辑
# 根据自定义参数user_name为张三,自动圈选高级管理者
if PARAMS("user_name") == "张三" then set Q1A1
# 将题目中的XXX替换为用户姓名
replace "XXX" in Q2 title with PARAMS("user_name")
使用场景
组合自定义参数和自动圈选
使用set作为中间变量
set可以作为中间变量来存储逻辑运算的结果,简化复杂的逻辑表达
例子
Q1. 您购买过以下哪些国货品牌?【多选】Q1
- A. 华为
Q1A1 - B. 小米
Q1A2 - C. OPPO
Q1A3
Q2. 在购买的国货品牌中,您会向亲友推荐的有?【多选】Q2
- A. 华为
Q2A1 - B. 小米
Q2A2 - C. OPPO
Q2A3
Q3. 您愿意推荐给亲友的品牌(此题不显示给用户)【多选】Q3
- A. 华为
Q3A1 - B. 小米
Q3A2 - C. OPPO
Q3A3
Q4. 您愿意向亲友推荐【嵌入被访人同时在Q1和Q2中进行了选择的品牌名字】的原因是?【文本题】Q4
- A. 品牌介绍1
Q4S1 - B. 品牌介绍2
Q4S2 - C. 品牌介绍3
Q4S3
自定义逻辑
# 显示Q2选项,仅显示Q1中已选择的选项
if Q1A1 then show Q2A1
if Q1A2 then show Q2A2
if Q1A3 then show Q2A3
# 使用set作为中间变量,保存同时在Q1和Q2中选择的选项
if Q1A1 and Q2A1 then set Q3A1
if Q1A2 and Q2A2 then set Q3A2
if Q1A3 and Q2A3 then set Q3A3
# 隐藏Q3,不显示给用户
hide Q3
# 将Q3的结果(作为中间变量)用于题目内容替换
replace "【嵌入被访人同时在Q1和Q2中进行了选择的品牌名字】" in Q4 title with Q3
# 根据Q3的结果控制Q4子问题的显示
if Q3A1 then show Q4S1 # 如果华为被同时选择,显示华为相关问题
if Q3A2 then show Q4S2 # 如果小米被同时选择,显示小米相关问题
if Q3A3 then show Q4S3 # 如果OPPO被同时选择,显示OPPO相关问题
文本题自动填充
set操作可以自动填充单行文本题和多行文本题的内容。设置后的文本题将显示为禁用状态,用户无法手动修改。
例子
Q1. 请输入您的年龄【单行文本题】Q1
Q2. 请输入您的出生年份【单行文本题】Q2
Q3. 您的出生年份计算结果【单行文本题】Q3
自定义逻辑
# 根据年龄计算出生年份(假设当前年份为2026)
set Q3 = 2026 - Q1
# 也可以使用条件设置
if Q1 > 0 then set Q3 = 2026 - Q1
效果
当答题者在Q1中输入年龄后,Q3会自动计算并显示出生年份,且Q3为禁用状态无法手动修改。
使用其他题目的答案填充
例子
Q1. 请输入您的姓名【单行文本题】Q1
Q2. 确认姓名(系统自动填充)【单行文本题】Q2
自定义逻辑
# 将Q1的答案复制到Q2
set Q2 = Q1
矩阵填空题自动填充
set操作支持矩阵填空题,可以根据其他题目的答案自动设置矩阵填空题单元格的值。
例子
Q1. 请输入基础数据【矩阵填空题】Q1
数量 Q1A1 | 单价 Q1A2 | 总价 Q1A3 | |
|---|---|---|---|
商品A Q1S1 | Q1S1A1 | Q1S1A2 | Q1S1A3 |
商品B Q1S2 | Q1S2A1 | Q1S2A2 | Q1S2A3 |
自定义逻辑
# 自动计算商品A的总价 = 数量 × 单价
set Q1S1A3 = Q1S1A1 * Q1S1A2
# 自动计算商品B的总价 = 数量 × 单价
set Q1S2A3 = Q1S2A1 * Q1S2A2
效果
当答题者在矩阵填空题中输入数量和单价后,总价列会自动计算并填充,且该单元格为禁用状态无法手动修改。
条件自动填充
自定义逻辑
# 当数量大于10时,给予折扣(总价 = 数量 × 单价 × 0.9)
if Q1S1A1 > 10 then set Q1S1A3 = Q1S1A1 * Q1S1A2 * 0.9
if Q1S1A1 <= 10 then set Q1S1A3 = Q1S1A1 * Q1S1A2
跨题目设置
例子
Q1. 请输入基准值【单行文本题】Q1
Q2. 计算结果【矩阵填空题】Q2
自定义逻辑
# 将Q1的值设置到矩阵填空题的指定单元格
set Q2S1A1 = Q1
# 使用Q1进行计算并设置
set Q2S1A2 = Q1 * 2
set Q2S1A3 = Q1 + 100