系统扩展函数
系统扩展函数是问卷系统补充的常用能力,直接面向题目答案、选项文本、选项编号、分值和当前时间。
示例中的变量遵循统一规则: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,"