系统扩展函数
系统扩展函数是问卷系统补充的常用能力,直接面向题目答案、选项文本、选项编号、分值和当前时间。
示例中的变量遵循统一规则:Q1 表示第 1 题答案,Q1A1 表示第 1 题第 1 个选项,Q1~4 表示第 1 到第 4 题,QS1Q1 表示第 1 个题组内第 1 题。
函数速查
SEARCH、CURRENT_DATE、CURRENT_TIME、CURRENT_DATETIME、INCLUDE、EXCLUSIVE、ANSWER_NO、COUNT、IFS、TEXT、SCORE
SEARCH
作用: 用于不区分大小写地查找文本位置;在本系统中,参数不是文本、查找内容为空、原文本为空或找不到时,都返回 0,适合问卷答案处理、选项判断、分值读取和当前时间记录。
语法:
SEARCH(find_text, within_text, start_num)
参数说明:
find_text:要查找的关键词或片段,需要用英文双引号包住固定文本,也可以引用题目答案。within_text:要处理的文本,可以是填空题答案、选项文本、固定文本或拼接后的结果。start_num:位置或长度数字,从 1 开始计数;可以填写固定数字,也可以引用数字题答案。
返回结果: 返回数字结果,可用于评分、统计、排序、金额测算或后续判断。
使用示例:
SEARCH("学校",Q1)
说明: Q1 表示第 1 题答案;公式会用 SEARCH 按语法处理这些值,返回数字结果,可用于评分、统计、排序、金额测算或后续判断。
使用场景:
| 场景举例 | 分析 | 公式 |
|---|---|---|
| 判断填空是否包含关键词 | 填写内容包含“学校”时返回位置,可继续做分类。 | SEARCH("学校",Q1) |
| 按行业关键词分组 | 包含“医院”时标记为医疗行业。 | IF(SEARCH("医院",Q1)>0,"医疗行业","其他") |
| 识别备注中的风险词 | 备注中出现“投诉”时进入人工复核。 | SEARCH("投诉",Q2)>0 |
注意事项:
- 系统扩展函数更贴近问卷变量,建议优先用于选项文本、选项编号和分值读取。
- 参数之间使用英文逗号分隔,括号、引号也要使用英文半角符号。
- 正式发布前建议用空答案、正常答案和边界答案各预览一次,确认返回结果符合预期。
CURRENT_DATE
作用: 用于得到当前日期,默认格式为 YYYY-MM-DD,也可以传入日期格式字符串,适合问卷答案处理、选项判断、分值读取和当前时间记录。
语法:
CURRENT_DATE(format)
参数说明:
format:输出格式,例如 "YYYY-MM-DD"、"YYYY/MM/DD",用于控制日期或文本显示。
返回结果: 返回文本结果,可写入文本题、结果页文案或后续文本判断。
使用示例:
CURRENT_DATE("YYYY-MM-DD")
说明: 示例使用固定值演示;公式会用 CURRENT_DATE 按语法处理这些值,返回文本结果,可写入文本题、结果页文案或后续文本判断。
使用场景:
| 场景举例 | 分析 | 公式 |
|---|---|---|
| 记录提交当天日期 | 在计算题或隐藏题中写入当前日期。 | CURRENT_DATE("YYYY-MM-DD") |
| 生成结果页日期文案 | 按斜杠格式显示当前日期。 | CURRENT_DATE("YYYY/MM/DD") |
| 判断是否为当天操作 | 把当前日期和日期题对比,辅助校验。 | CURRENT_DATE("YYYY-MM-DD") |
注意事项:
- 系统扩展函数更贴近问卷变量,建议优先用于选项文本、选项编号和分值读取。
- 参数之间使用英文逗号分隔,括号、引号也要使用英文半角符号。
- 正式发布前建议用空答案、正常答案和边界答案各预览一次,确认返回结果符合预期。
CURRENT_TIME
作用: 用于得到当前时间,格式为 HH:mm:ss,适合问卷答案处理、选项判断、分值读取和当前时间记录。
语法:
CURRENT_TIME()
参数说明: 该函数不需要参数,直接写函数名和一对英文括号即可。
返回结果: 返回文本结果,可写入文本题、结果页文案或后续文本判断。
使用示例:
CURRENT_TIME()
说明: 示例使用固定值演示;公式会用 CURRENT_TIME 按语法处理这些值,返回文本结果,可写入文本题、结果页文案或后续文本判断。
使用场景:
| 场景举例 | 分析 | 公式 |
|---|---|---|
| 记录提交时刻 | 把受访者提交问卷的当前时间写入隐藏题。 | CURRENT_TIME() |
| 记录考试交卷时间 | 自动保存交卷时刻 ,便于后续核对考试记录。 | CURRENT_TIME() |
| 生成结果页时间戳 | 在结果页显示本次测评完成时间。 | CURRENT_TIME() |
注意事项:
- 系统扩展函数更贴近问卷变量,建议优先用于选项文本、选项编号和分值读取。
- 参数之间使用英文逗号分隔,括号、引号也要使用英文半角符号。
- 正式发布前建议用空答案、正常答案和边界答案各预览一次,确认返回结果符合预期。
CURRENT_DATETIME
作用: 用于得到当前日期时间,格式为 YYYY-MM-DD HH:mm:ss,适合问卷答案处理、选项判断、分值读取和当前时间记录。
语法:
CURRENT_DATETIME()
参数说明: 该函数不需要参数,直接写函数名和一对英文括号即可。
返回结果: 返回文本结果,可写入文本题、结果页文案或后续文本判断。
使用示例:
CURRENT_DATETIME()
说明: 示例使用固定值演示;公式会用 CURRENT_DATETIME 按语法处理这些值,返回文本结果,可写入文本题、结果页文案或后续文本判断。
使用场景:
| 场景举例 | 分析 | 公式 |
|---|---|---|
| 记录完整提交时间 | 同时保存提交日期和具体时间,便于后台筛选。 | CURRENT_DATETIME() |
| 生成考试交卷凭证 | 在结果页展示交卷日期时间,方便考生截图留存。 | CURRENT_DATETIME() |
| 标记随访问卷完成时间 | 把随访问卷完成时间写入隐藏字段,供后续回访使用。 | CURRENT_DATETIME() |
注意事项:
- 系统扩展函数更贴近问卷变量,建议优先用于选项文本、选项编号和分值读取。
- 参数之间使用英文逗号分隔,括号、引号也要使用英文半角符号。
- 正式发布前建议用空答案、正常答案和边界答案各预览一次,确认返回结果符合预期。
INCLUDE
作用: 用于判断文本是否包含指定内容,底层使用卷王覆盖后的 SEARCH,包含时返回 TRUE,不包含时返回 FALSE,适合问卷答案处理、选项判断、分值读取和当前时间记录。
语法:
INCLUDE(find_text, within_text)
参数说明:
find_text:要查找的关键词或片段,需要用英文双引号包住固定文本,也可以引用 题目答案。within_text:要处理的文本,可以是填空题答案、选项文本、固定文本或拼接后的结果。
返回结果: 返回 TRUE 或 FALSE,可直接用于显示条件、校验条件或分支判断。
使用示例:
INCLUDE("学校",Q1)
说明: Q1 表示第 1 题答案;公式会用 INCLUDE 按语法处理这些值,返回 TRUE 或 FALSE,可直接用于显示条件、校验条件或分支判断。
使用场景:
| 场景举例 | 分析 | 公式 |
|---|---|---|
| 判断文本是否包含关键词 | 第 1 题包含“学校”时返回 TRUE。 | INCLUDE("学校",Q1) |
| 按备注内容显示追问 | 备注里提到“发票”时显示开票信息。 | INCLUDE("发票",Q2) |
| 识别多选文本中的选项 | 选项文本中包含“其他”时显示补充说明。 | INCLUDE("其他",TEXT(Q1)) |
注意事项:
- 系统扩展函数更贴近问卷变量,建议优先用于选项文本、选项编号和分值读取。
- 参数之间使用英文逗号分隔,括号、引号也要使用英文半角符号。
- 正式发布前建议用空答案、正常答案和边界答案各预览一次,确认返回结果符合预期。
EXCLUSIVE
作用: 用于判断文本是否不包含指定内容,底层使用卷王覆盖后的 SEARCH,不包含时返回 TRUE,包含时返回 FALSE,适合问卷答案处理、选项判断、分值读取和当前时间记录。
语法:
EXCLUSIVE(find_text, within_text)
参数说明:
find_text:要 查找的关键词或片段,需要用英文双引号包住固定文本,也可以引用题目答案。within_text:要处理的文本,可以是填空题答案、选项文本、固定文本或拼接后的结果。
返回结果: 返回 TRUE 或 FALSE,可直接用于显示条件、校验条件或分支判断。
使用示例:
EXCLUSIVE("学校",Q1)
说明: Q1 表示第 1 题答案;公式会用 EXCLUSIVE 按语法处理这些值,返回 TRUE 或 FALSE,可直接用于显示条件、校验条件或分支判断。
使用场景:
| 场景举例 | 分析 | 公式 |
|---|---|---|
| 排除包含指定关键词的答案 | 第 1 题不包含“学校”时返回 TRUE,可进入非教育行业分支。 | EXCLUSIVE("学校",Q1) |
| 过滤备注中的敏感词 | 备注不包含“投诉”时自动通过初筛。 | EXCLUSIVE("投诉",Q2) |
| 判断选项文本是否不含其他 | 多选文本不包含“其他”时,不显示补充说明题。 | EXCLUSIVE("其他",TEXT(Q1)) |
注意事项:
- 系统扩展函数更贴近问卷变量,建议优先用于选项文本、选项编号和分值读取。
- 参数之间使用英文逗号分隔,括号、引号也要使用英文半角符号。
- 正式发布前建议用空答案、正常答案和边界答案各预览一次,确认返回结果符合预期。
ANSWER_NO
作用: 用于得到答题编号占位符,width 用于控制编号补零宽度。实际编号会在系统生成答卷编号时替换,适合问卷答案处理、选项判断、分值读取和当前时间记录。
语法:
ANSWER_NO(width)
参数说明:
width:第 1 个参数,按函数语法填写,可使用题目变量、固定值或表达式。
返回结果: 返回文本结果,可写入文本题、结果页文案或后续文本判断。
使用示例:
ANSWER_NO(Q1)
说明: Q1 表示第 1 题答案;公式会用 ANSWER_NO 按语法处理这些值,返回文本结果,可写入文本题、结果页文案或后续文本判断。
使用场景:
| 场景举例 | 分析 | 公式 |
|---|---|---|
| 生成答卷编号占位符 | 按指定宽度生成编号占位,后续由系统替换成真实答卷编号。 | ANSWER_NO(6) |
| 结果页展示报名编号 | 在结果页或短信文案中显示本次提交编号。 | CONCATENATE("报名编号:",ANSWER_NO(6)) |
| 隐藏题保存追踪编号 | 把答卷编号写入隐藏字段,便于后台导出和核对。 | ANSWER_NO(8) |
注意事项:
- 系统扩展函数更贴近问卷变量,建议优先用于选项文本、选项编号和分值读取。
- 参数之间使用英文逗号分隔,括号、引号也要使用英文半角符号。
- 正式发布前建议用空答案、正常答案和边界答案各预览一次,确认返回结果符合预期。
COUNT
作用: 用于统计多值答案的数量;参数是一组答案时返回答案数量,不是一组答案时返回 0,因此多选题数量统计以本页行为为准,适合问卷答案处理、选项判断、分值读取和当前时间记录。
语法:
COUNT(value)
参数说明 :
value:第 1 个值,可以是数字、文本、日期、题目变量或表达式。
返回结果: 返回数字结果,可用于评分、统计、排序、金额测算或后续判断。
使用示例:
COUNT(Q1)
说明: Q1 表示第 1 题答案;公式会用 COUNT 按语法处理这些值,返回数字结果,可用于评分、统计、排序、金额测算或后续判断。
使用场景:
| 场景举例 | 分析 | 公式 |
|---|---|---|
| 统计多选题已选数量 | Q1 是多选答案时,返回被选中的选项数量。 | COUNT(Q1) |
| 判断是否至少选择 2 项 | 选择数量达到 2 时允许继续提交。 | COUNT(Q1)>=2 |
| 统计题组内有效答案数 | 统计多个题目中有数字答案的数量。 | COUNT(QS1Q1,QS1Q2,QS1Q3) |
| 按选项数量计分 | 每选择一个正确选项计 1 分。 | COUNT(Q1) |
注意事项:
- 系统扩展函数更贴近问卷变量,建议优先用于选项文本、选项编号和分值读取。
- 参数之间使用英文逗号分隔,括号、引号也要使用英文半角符号。
- 正式发布前建议用空答案、正常答案和边界答案各预览一次,确认返回结果符合预期。
IFS
作用: 用于按顺序判断多组条件,返回第一组成立条件对应的结果;本系统支持在最后追加一个默认值,适合问卷答案处理、选项判断、分值读取和当前时间记录。
语法:
IFS(logical_test1, value_if_true1, logical_test2, value_if_true2, default_value)
参数说明:
logical_test1:第 1 个判断条件,可以写成Q1>=60、Q1A1、INCLUDE("学校",Q2)等会得到 TRUE/FALSE 的公式。value_if_true1:条件成立时返回的内容,可以是文本、数字、题目变量或另一个公式。logical_test2:第 3 个判断条件,可以写成Q1>=60、Q1A1、INCLUDE("学校",Q2)等会得到 TRUE/FALSE 的公式。value_if_true2:条件成立时返回的内容,可以是文本、数字、题目变量或另一个公式。default_value:条件不成立或没有匹配时返回的备用内容,可以是文本、数字或公式。
返回结果: 返回匹配到的值,结果类型取决于你填写的返回内容,可能是数字、文本、日期或 TRUE/FALSE。
使用示例:
IFS(Q1<60,"不合格",Q1<80,"合格","优秀")
说明: Q1 表示第 1 题答案;公式会用 IFS 按语法处理这些值,返回匹配到的值,结果类型取决于你填写的返回内容,可能是数字、文本、日期或 TRUE/FALSE。
使用场景:
| 场景举例 | 分析 | 公式 |
|---|---|---|
| 按成绩划分等级 | 从低到高判断分数,返回第一个命中的等级。 | IFS(Q1<60,"不合格",Q1<80,"合格","优秀") |
| 按满意度输出标签 | 1 到 5 分满意度转为差、中、好三个等级。 | IFS(Q1<=2,"待改进",Q1<=4,"满意","非常满意") |
| 按风险分输出建议 | 风险分越高,返回越严格的处理建议。 | IFS(Q1<30,"低风险",Q1<70,"中风险","高风险") |
| 按题组得分给测评结果 | 题组总分分段显示不同解释。 | IFS(SUM(QS1Q1,QS1Q2)<6,"偏低",SUM(QS1Q1,QS1Q2)<9,"正常","较高") |
注意事项:
- 系统扩展函数更贴近问卷变量,建议优先用于选项文本、选项编号和分值读取。
- 参数之间使用英文逗号分隔,括号、引号也要使用英文半角符号。
- 正式发布前建议用空答案、正常答案和边界答案各预览一次,确认返回结果符合预期。
TEXT
作用:
用于按文本上下文读取题目答案或选项文本。公式解析时,TEXT(#{变量}) 会先按文本上下文替换,再进入公式计算,适合问卷答案处理、选项判断、分值读取和当前时间记 录。
语法:
TEXT(value)
参数说明:
value:第 1 个值,可以是数字、文本、日期、题目变量或表达式。
返回结果: 返回文本结果,可写入文本题、结果页文案或后续文本判断。
使用示例:
TEXT(Q1)
说明: Q1 表示第 1 题答案;公式会用 TEXT 按语法处理这些值,返回文本结果,可写入文本题、结果页文案或后续文本判断。
使用场景:
| 场景举例 | 分析 | 公式 |
|---|---|---|
| 显示选项文本 | 把选项答案转成可展示的文字,用于结果页。 | TEXT(Q1) |
| 拼接多选题文字 | 读取多选题已选选项文本,放入确认信息。 | CONCATENATE("你选择了:",TEXT(Q1)) |
| 把分值题转成文本 | 在文本题中展示数字答案或分值。 | TEXT(Q2) |
注意事项:
- 系统扩展函数更贴近问卷变量,建议优先用于选项文本、选项编号和分值读取。
- 参数之间使用英文逗号分隔,括号、引号也要使用英文半角符号。
- 正式发布前建议用空答案、正常答案和边界答案各预览一次,确认返回结果符合预期。
SCORE
作用:
用于按分值上下文读取题目答案或选项分值。公式解析时,SCORE(#{变量}) 会先按分值上下文替换,再进入公式计算,适合问卷答案处理、选项判断、分值读取和当前时间记录。
语法:
SCORE(value)
参数说明:
value:第 1 个值,可以是数字、文本、日期、题目变量或表达式。
返回结果: 返回数字结果,可用于评分、统计、排序、金额测算或后续判断。
使用示例:
SCORE(Q1)
说明: Q1 表示第 1 题答案;公式会用 SCORE 按语法处理这些值,返回数字结果,可用于评分、统计、排序、金额测算或后续判断。
使用场景:
| 场景举例 | 分析 | 公式 |
|---|---|---|
| 读取单选题分值 | 把第 1 题选项配置的分值取出来参与总分。 | SCORE(Q1) |
| 计算量表总分 | 多个题目的选项分值相加得到量表分。 | SUM(SCORE(Q1),SCORE(Q2),SCORE(Q3)) |
| 按分值判断等级 | 选项分值达到 8 分时判定为高意向。 | IF(SCORE(Q1)>=8,"高意向","普通") |
注意事项:
- 系统扩展函数更贴近问卷变量,建议优先用于选项文本、选项编号和分值读取。
- 参数之间使用英文逗号分隔,括号、引号也要使用英文半角符号。
- 正式发布前建议用空答案、正常答案和边界答案各预览一次,确认返回结果符合预期。