逻辑函数

爱搭贝
更新于2025-05-19

逻辑函数简介

逻辑函数,是一类返回值为 true 、false 或其他自定义逻辑值的函数。

首先,先来了解关于逻辑函数的几个基本概念:

IF

  • 用法:IF(A,B,C)
  • 说明:如果满足条件 A,则返回 B,否则返回 C,支持多层嵌套 IF 函数。如果用于判断的字段是明细表字段,建议使用 CASE 函数
  • 示例1:80 以下,为不及格;80-90,为中;90-100,为良;100 以上,为优。IF(成绩<80,"不及格",IF(成绩<90,"中",IF(成绩<100,"良","优")))
  • 示例2:IF 嵌套 OR 让 IF 支持明细表操作,如:代表着明细表的明细表数字「有一个小于100」就可以提交时,配置方式为 IF(OR(明细表.数字<100),true,false)
  • 示例3:IF 嵌套 AND 让 IF 支持明细表操作,如:代表着明细表的明细表数字「都得小于100」就可以提交时,配置方式为 IF(AND(明细表.数字<100),true,false)
IF@1x.png

AND

  • 用法:表达式1 AND 表达式2
  • 说明:多个用 AND 连接的表达式,当所有表达式均为 true 时,表达式返回 true,否则返回 false,与 IF、OR 函数结合。
  • 示例1:AND(1<10,2<10),返回结果为 true;AND(1<10,2>10),返回结果为 false;当各科成绩均大于 100 分时为“录取”,否则为“不录取”,IF(AND(语文成绩>100,数学成绩>100,英语成绩>100),"录取","不录取")
  • 示例2:AND 用于明细表字段判断,如「所有值都小于3」才能提交时,配置方式为 AND(明细表.数字<3)
  • 示例3:AND 用于明细表字段判断 ,如「都小于等于某个字段值」才能提交时,配置方式为 AND(明细表.数2+明细表.数4<=明细表.数3)
AND@1x.png

OR

  • 用法:表达式1 OR 表达式2
  • 说明:多个用 OR 连接的表达式,只要有一个表达式为 true,表达式返回 true,只有当所有表达式为 false,才返回 false。
  • 示例1:OR(1<10,10<10),返回结果为 true;OR(11<10,10<10),返回结果为 false。任意一科成绩大于 100 分时为“录取”,否则为“不录取”,IF(OR(语文成绩>100,数学成绩>100,英语成绩>100),"录取","不录取")
  • 示例2:OR 用于明细表字段判断,如「小于3」就可以提交时,配置方式为 OR(明细表.数字1<3)
  • 示例3:OR 用于明细表字段判断,如「小于某个字段值」就可以提交时,配置方式为 OR(明细表.数2+明细表.数4<=明细表.数3)
OR@1x.png

CASE

  • 用法:CASE(条件表达式1,条件表达式1为true返回该值,条件表达式2,条件表达式2为true返回该值,...)
  • 说明:判断是否满足一个或多个条件,且返回符合第一个 true 条件的值,CASE 尤其在用于明细表字段判断时,可以取代多个 IF 和 AND 语句嵌套。
  • 示例1:在进行产品询价时,供应商针对每个商品分别进行了三次报价,每一次报价之后需要显示每个商品的最终报价。可配置为:CASE(报价明细.第三次报价>0,报价明细.第三次报价,报价明细.第二次报价>0,报价明细.第二次报价,报价明细.第一次报价>0,报价明细.第一次报价)
  • 示例2:大于100显示优秀,大于90显示良好,大于等于80显示及格,小于80显示不及格,可配置为:CASE(语文成绩>100,"优秀",语文成绩>90,"良好",语文成绩>=80,"及格",语文成绩<80,"不及格")
注意:当作为计算项的字段为主表字段,使用此函数的字段也要为主表字段;当作为计算项的字段为明细字段,使用此函数的字段也要为明细字段。
CASE@1x.png