跳到主要内容

逻辑函数

逻辑函数用于把题目答案转换成 TRUE/FALSE 判断,或根据不同条件返回不同结果,常用于显示逻辑、校验逻辑、自动评分和结果分层。

示例中的变量遵循统一规则:Q1 表示第 1 题答案,Q1A1 表示第 1 题第 1 个选项,Q1~4 表示第 1 到第 4 题,QS1Q1 表示第 1 个题组内第 1 题。

函数速查

ANDCHOOSEFALSEIFIFERRORIFNAIFSNOTORSWITCHTRUEXOR

AND

作用: 用于所有条件都为 TRUE 时返回 TRUE,适合显示条件、校验规则、考试通过判断和分支评分。

语法:

AND(logical1, logical2, ...)

参数说明:

  • logical1:第 1 个判断条件,可以写成 Q1>=60Q1A1INCLUDE("学校",Q2) 等会得到 TRUE/FALSE 的公式。
  • logical2:第 2 个判断条件,可以写成 Q1>=60Q1A1INCLUDE("学校",Q2) 等会得到 TRUE/FALSE 的公式。
  • ...:表示可以继续添加同类参数,适合一次处理多道题或多组选项。

返回结果: 返回 TRUE 或 FALSE,可直接用于显示条件、校验条件或分支判断。

使用示例:

AND(Q1>=60,Q2>=60)

说明: Q1 表示第 1 题答案,Q2 表示第 2 题答案;公式会用 AND 按语法处理这些值,返回 TRUE 或 FALSE,可直接用于显示条件、校验条件或分支判断。

使用场景:

场景举例分析公式
判断两门考试是否都达标第 1 题和第 2 题都达到 60 分才允许进入证书页。AND(Q1>=60,Q2>=60)
判断资料是否填写完整姓名不为空且手机号不为空时,校验通过。AND(NOT(ISBLANK(Q1)),NOT(ISBLANK(Q2)))
多选题必须同时选择两个关键选项Q1 的第 1、2 个选项都被选中才显示后续追问题。AND(Q1A1,Q1A2)
测评维度同时达到门槛题组内两项评分都不低于 4,才判定该维度达标。AND(QS1Q1>=4,QS1Q2>=4)

注意事项:

  • 用于显示逻辑或校验逻辑时,最终结果应能判断为 TRUE/FALSE。
  • 参数之间使用英文逗号分隔,括号、引号也要使用英文半角符号。
  • 正式发布前建议用空答案、正常答案和边界答案各预览一次,确认返回结果符合预期。

CHOOSE

作用: 用于按序号从多个候选值中返回一个值,适合显示条件、校验规则、考试通过判断和分支评分。

语法:

CHOOSE(index_num, value1, value2, ...)

参数说明:

  • index_num:要返回第几个候选值,从 1 开始计数,可以来自单选题答案、等级编号或计算结果。
  • value1:第 2 个值,可以是数字、文本、日期、题目变量或表达式。
  • value2:第 3 个值,可以是数字、文本、日期、题目变量或表达式。
  • ...:表示可以继续添加同类参数,适合一次处理多道题或多组选项。

返回结果: 返回匹配到的值,结果类型取决于你填写的返回内容,可能是数字、文本、日期或 TRUE/FALSE。

使用示例:

CHOOSE(Q1,"低风险","中风险","高风险")

说明: Q1 表示第 1 题答案;公式会用 CHOOSE 按语法处理这些值,返回匹配到的值,结果类型取决于你填写的返回内容,可能是数字、文本、日期或 TRUE/FALSE。

使用场景:

场景举例分析公式
风险等级编号转文字Q1 填 1、2、3 时,分别返回低风险、中风险、高风险。CHOOSE(Q1,"低风险","中风险","高风险")
满意度选项转建议第 2 题选择不同满意度编号时,输出对应处理建议。CHOOSE(Q2,"立即回访","重点跟进","正常维护","无需跟进")
考试题型转分值按题型编号返回该题型的基础分。CHOOSE(Q3,5,10,15)

注意事项:

  • 用于显示逻辑或校验逻辑时,最终结果应能判断为 TRUE/FALSE。
  • 参数之间使用英文逗号分隔,括号、引号也要使用英文半角符号。
  • 正式发布前建议用空答案、正常答案和边界答案各预览一次,确认返回结果符合预期。

FALSE

作用: 用于直接返回逻辑值 FALSE,适合显示条件、校验规则、考试通过判断和分支评分。

语法:

FALSE()

参数说明: 该函数不需要参数,直接写函数名和一对英文括号即可。

返回结果: 返回 TRUE 或 FALSE,可直接用于显示条件、校验条件或分支判断。

使用示例:

FALSE()

说明: 示例使用固定值演示;公式会用 FALSE 按语法处理这些值,返回 TRUE 或 FALSE,可直接用于显示条件、校验条件或分支判断。

使用场景:

场景举例分析公式
临时关闭某个显示规则调试问卷时让某个后续题始终不显示。FALSE()
暂停某条校验规则发布前暂时让某条校验条件固定不通过,用于检查提示效果。FALSE()

注意事项:

  • 用于显示逻辑或校验逻辑时,最终结果应能判断为 TRUE/FALSE。
  • 参数之间使用英文逗号分隔,括号、引号也要使用英文半角符号。
  • 正式发布前建议用空答案、正常答案和边界答案各预览一次,确认返回结果符合预期。

IF

作用: 用于根据条件成立与否返回两个结果之一,适合显示条件、校验规则、考试通过判断和分支评分。

语法:

IF(test, then_value, otherwise_value)

参数说明:

  • test:第 1 个判断条件,可以写成 Q1>=60Q1A1INCLUDE("学校",Q2) 等会得到 TRUE/FALSE 的公式。
  • then_value:条件成立时返回的内容,可以是文本、数字、题目变量或另一个公式。
  • otherwise_value:条件不成立或没有匹配时返回的备用内容,可以是文本、数字或公式。

返回结果: 返回匹配到的值,结果类型取决于你填写的返回内容,可能是数字、文本、日期或 TRUE/FALSE。

使用示例:

IF(Q1>=60,"合格","不合格")

说明: Q1 表示第 1 题答案;公式会用 IF 按语法处理这些值,返回匹配到的值,结果类型取决于你填写的返回内容,可能是数字、文本、日期或 TRUE/FALSE。

使用场景:

场景举例分析公式
考试分数转成是否合格第 1 题分数达到 60 返回“合格”,否则返回“不合格”。IF(Q1>=60,"合格","不合格")
按年龄显示不同提示第 2 题年龄小于 18 时提示监护人确认。IF(Q2<18,"需监护人确认","可独立填写")
根据选项给不同分值第 1 题选择第 1 个选项得 10 分,否则得 0 分。IF(Q1A1,10,0)
校验金额是否为正数金额大于 0 时不提示,否则返回错误提示。IF(Q1>0,"","请输入大于 0 的金额")

注意事项:

  • 用于显示逻辑或校验逻辑时,最终结果应能判断为 TRUE/FALSE。
  • 参数之间使用英文逗号分隔,括号、引号也要使用英文半角符号。
  • 正式发布前建议用空答案、正常答案和边界答案各预览一次,确认返回结果符合预期。

IFERROR

作用: 用于当表达式返回错误时改用备用值,适合显示条件、校验规则、考试通过判断和分支评分。

语法:

IFERROR(value, valueIfError)

参数说明:

  • value:第 1 个值,可以是数字、文本、日期、题目变量或表达式。
  • valueIfError:第 2 个值,可以是数字、文本、日期、题目变量或表达式。

返回结果: 返回匹配到的值,结果类型取决于你填写的返回内容,可能是数字、文本、日期或 TRUE/FALSE。

使用示例:

IFERROR(Q1/Q2,0)

说明: Q1 表示第 1 题答案,Q2 表示第 2 题答案;公式会用 IFERROR 按语法处理这些值,返回匹配到的值,结果类型取决于你填写的返回内容,可能是数字、文本、日期或 TRUE/FALSE。

使用场景:

场景举例分析公式
避免除数为空导致报错计算完成率时,如果总数为空或为 0,就返回 0。IFERROR(Q1/Q2,0)
查找失败时给默认文案没有匹配到等级时返回“未匹配”。IFERROR(VLOOKUP(Q1,[["A",10],["B",8]],2,FALSE()),"未匹配")
统计异常时保留空结果统计题组平均分出错时,不影响问卷提交。IFERROR(AVERAGE(QS1Q1,QS1Q2),"")

注意事项:

  • 用于显示逻辑或校验逻辑时,最终结果应能判断为 TRUE/FALSE。
  • 参数之间使用英文逗号分隔,括号、引号也要使用英文半角符号。
  • 正式发布前建议用空答案、正常答案和边界答案各预览一次,确认返回结果符合预期。

IFNA

作用: 用于当表达式返回 #N/A 时改用备用值,适合显示条件、校验规则、考试通过判断和分支评分。

语法:

IFNA(value, value_if_na)

参数说明:

  • value:第 1 个值,可以是数字、文本、日期、题目变量或表达式。
  • value_if_na:没有找到结果时返回的备用值,常用空文本或“未找到”。

返回结果: 返回匹配到的值,结果类型取决于你填写的返回内容,可能是数字、文本、日期或 TRUE/FALSE。

使用示例:

IFNA(MATCH("A",["B","C"],0),"未找到")

说明: 示例使用固定值演示;公式会用 IFNA 按语法处理这些值,返回匹配到的值,结果类型取决于你填写的返回内容,可能是数字、文本、日期或 TRUE/FALSE。

使用场景:

场景举例分析公式
选项编号不存在时提示查找不到指定选项时返回“未找到”。IFNA(MATCH(Q1,["A","B","C"],0),"未找到")
等级表缺少记录时兜底映射不到分值时返回 0,避免计算中断。IFNA(VLOOKUP(Q1,[["A",10],["B",8]],2,FALSE()),0)
题目答案未命中名单答案不在名单中时返回“其他”。IFNA(MATCH(Q2,["北京","上海"],0),"其他")

注意事项:

  • 用于显示逻辑或校验逻辑时,最终结果应能判断为 TRUE/FALSE。
  • 参数之间使用英文逗号分隔,括号、引号也要使用英文半角符号。
  • 正式发布前建议用空答案、正常答案和边界答案各预览一次,确认返回结果符合预期。

IFS

作用: 用于按顺序判断多组条件,返回第一组成立条件对应的结果,适合显示条件、校验规则、考试通过判断和分支评分。

语法:

IFS(logical_test1, value_if_true1, logical_test2, value_if_true2, ..., default_value)

参数说明:

  • logical_test1:第 1 个判断条件,可以写成 Q1>=60Q1A1INCLUDE("学校",Q2) 等会得到 TRUE/FALSE 的公式。
  • value_if_true1:条件成立时返回的内容,可以是文本、数字、题目变量或另一个公式。
  • logical_test2:第 3 个判断条件,可以写成 Q1>=60Q1A1INCLUDE("学校",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,"正常","较高")

注意事项:

  • 该函数在系统中有扩展或覆盖行为,实际效果以本页说明为准;从 Excel 复制公式时建议重新预览。
  • 用于显示逻辑或校验逻辑时,最终结果应能判断为 TRUE/FALSE。
  • 参数之间使用英文逗号分隔,括号、引号也要使用英文半角符号。
  • 正式发布前建议用空答案、正常答案和边界答案各预览一次,确认返回结果符合预期。

NOT

作用: 用于反转逻辑值,TRUE 变 FALSE,FALSE 变 TRUE,适合显示条件、校验规则、考试通过判断和分支评分。

语法:

NOT(logical)

参数说明:

  • logical:第 1 个判断条件,可以写成 Q1>=60Q1A1INCLUDE("学校",Q2) 等会得到 TRUE/FALSE 的公式。

返回结果: 返回 TRUE 或 FALSE,可直接用于显示条件、校验条件或分支判断。

使用示例:

NOT(Q1A1)

说明: Q1A1 表示第 1 题第 1 个选项是否被选中;公式会用 NOT 按语法处理这些值,返回 TRUE 或 FALSE,可直接用于显示条件、校验条件或分支判断。

使用场景:

场景举例分析公式
排除某个选项后显示题目第 1 题未选择“不参加”时显示报名信息。NOT(Q1A1)
检查必填题是否未填第 1 题为空时返回 TRUE,可用于提示补充答案。ISBLANK(Q1)
反转已有判断结果不满足 60 分条件时显示补考说明。NOT(Q1>=60)

注意事项:

  • 用于显示逻辑或校验逻辑时,最终结果应能判断为 TRUE/FALSE。
  • 参数之间使用英文逗号分隔,括号、引号也要使用英文半角符号。
  • 正式发布前建议用空答案、正常答案和边界答案各预览一次,确认返回结果符合预期。

OR

作用: 用于任意条件为 TRUE 时返回 TRUE,适合显示条件、校验规则、考试通过判断和分支评分。

语法:

OR(logical1, logical2, ...)

参数说明:

  • logical1:第 1 个判断条件,可以写成 Q1>=60Q1A1INCLUDE("学校",Q2) 等会得到 TRUE/FALSE 的公式。
  • logical2:第 2 个判断条件,可以写成 Q1>=60Q1A1INCLUDE("学校",Q2) 等会得到 TRUE/FALSE 的公式。
  • ...:表示可以继续添加同类参数,适合一次处理多道题或多组选项。

返回结果: 返回 TRUE 或 FALSE,可直接用于显示条件、校验条件或分支判断。

使用示例:

OR(Q1A1,Q1A2)

说明: Q1A1 表示第 1 题第 1 个选项是否被选中,Q1A2 表示第 1 题第 2 个选项是否被选中;公式会用 OR 按语法处理这些值,返回 TRUE 或 FALSE,可直接用于显示条件、校验条件或分支判断。

使用场景:

场景举例分析公式
任一选项命中即显示追问选择“学生”或“教师”任一身份,都显示教育场景问题。OR(Q1A1,Q1A2)
任一科目优秀即打标签语文或数学任一题得分达到 90,标记为单科优秀。OR(Q1>=90,Q2>=90)
联系方式二选一校验手机号或邮箱至少填写一项时,允许提交。OR(NOT(ISBLANK(Q1)),NOT(ISBLANK(Q2)))
任一题组条件满足题组内任一风险项被选中时进入风险说明页。OR(QS1Q1A1,QS1Q2A1)

注意事项:

  • 用于显示逻辑或校验逻辑时,最终结果应能判断为 TRUE/FALSE。
  • 参数之间使用英文逗号分隔,括号、引号也要使用英文半角符号。
  • 正式发布前建议用空答案、正常答案和边界答案各预览一次,确认返回结果符合预期。

SWITCH

作用: 用于按表达式的值匹配候选项并返回对应结果,适合显示条件、校验规则、考试通过判断和分支评分。

语法:

SWITCH(expression, value1, result1, value2, result2, ..., default_value)

参数说明:

  • expression:第 1 个参数,按函数语法填写,可使用题目变量、固定值或表达式。
  • value1:第 2 个值,可以是数字、文本、日期、题目变量或表达式。
  • result1:第 3 个参数,按函数语法填写,可使用题目变量、固定值或表达式。
  • value2:第 4 个值,可以是数字、文本、日期、题目变量或表达式。
  • result2:第 5 个参数,按函数语法填写,可使用题目变量、固定值或表达式。
  • default_value:条件不成立或没有匹配时返回的备用内容,可以是文本、数字或公式。
  • ...:表示可以继续添加同类参数,适合一次处理多道题或多组选项。

返回结果: 返回匹配到的值,结果类型取决于你填写的返回内容,可能是数字、文本、日期或 TRUE/FALSE。

使用示例:

SWITCH(Q1,"A",10,"B",8,0)

说明: Q1 表示第 1 题答案;公式会用 SWITCH 按语法处理这些值,返回匹配到的值,结果类型取决于你填写的返回内容,可能是数字、文本、日期或 TRUE/FALSE。

使用场景:

场景举例分析公式
选项代码转分值把 A、B、C 选项答案转换成不同分值。SWITCH(Q1,"A",10,"B",8,"C",6,0)
报名类型转费用按第 1 题的报名类型返回对应费用。SWITCH(Q1,"个人",99,"团队",79,"学生",49,0)
考试等级转说明按等级代码返回结果页文案。SWITCH(Q2,"A","优秀","B","良好","C","合格","待提升")
矩阵行答案转标签按矩阵第 1 行选择结果输出风险标签。SWITCH(Q1S1,"低","通过","中","复核","高","人工处理","未评估")

注意事项:

  • 用于显示逻辑或校验逻辑时,最终结果应能判断为 TRUE/FALSE。
  • 参数之间使用英文逗号分隔,括号、引号也要使用英文半角符号。
  • 正式发布前建议用空答案、正常答案和边界答案各预览一次,确认返回结果符合预期。

TRUE

作用: 用于直接返回逻辑值 TRUE,适合显示条件、校验规则、考试通过判断和分支评分。

语法:

TRUE()

参数说明: 该函数不需要参数,直接写函数名和一对英文括号即可。

返回结果: 返回 TRUE 或 FALSE,可直接用于显示条件、校验条件或分支判断。

使用示例:

TRUE()

说明: 示例使用固定值演示;公式会用 TRUE 按语法处理这些值,返回 TRUE 或 FALSE,可直接用于显示条件、校验条件或分支判断。

使用场景:

场景举例分析公式
临时打开某个显示规则调试问卷时让后续题始终显示,便于检查页面内容。TRUE()
让校验规则固定通过暂时跳过复杂校验,确认其他公式是否正常工作。TRUE()

注意事项:

  • 用于显示逻辑或校验逻辑时,最终结果应能判断为 TRUE/FALSE。
  • 参数之间使用英文逗号分隔,括号、引号也要使用英文半角符号。
  • 正式发布前建议用空答案、正常答案和边界答案各预览一次,确认返回结果符合预期。

XOR

作用: 用于得到逻辑异或结果,TRUE 的数量为奇数时返回 TRUE,适合显示条件、校验规则、考试通过判断和分支评分。

语法:

XOR(logical1, logical2, ...)

参数说明:

  • logical1:第 1 个判断条件,可以写成 Q1>=60Q1A1INCLUDE("学校",Q2) 等会得到 TRUE/FALSE 的公式。
  • logical2:第 2 个判断条件,可以写成 Q1>=60Q1A1INCLUDE("学校",Q2) 等会得到 TRUE/FALSE 的公式。
  • ...:表示可以继续添加同类参数,适合一次处理多道题或多组选项。

返回结果: 返回 TRUE 或 FALSE,可直接用于显示条件、校验条件或分支判断。

使用示例:

XOR(Q1A1,Q1A2)

说明: Q1A1 表示第 1 题第 1 个选项是否被选中,Q1A2 表示第 1 题第 2 个选项是否被选中;公式会用 XOR 按语法处理这些值,返回 TRUE 或 FALSE,可直接用于显示条件、校验条件或分支判断。

使用场景:

场景举例分析公式
两个互斥选项只能选一个第 1 题第 1、2 个选项只有一个被选中时才返回 TRUE。XOR(Q1A1,Q1A2)
两项资格只满足一项时追问只有年龄达标或证件达标其中一项成立时,进入人工确认。XOR(Q2>=18,Q3A1)

注意事项:

  • 用于显示逻辑或校验逻辑时,最终结果应能判断为 TRUE/FALSE。
  • 参数之间使用英文逗号分隔,括号、引号也要使用英文半角符号。
  • 正式发布前建议用空答案、正常答案和边界答案各预览一次,确认返回结果符合预期。