请输入
菜单

逻辑函数

逻辑函数是公式中的一种函数类型,可以对数据进行逻辑运算。

IF()

判断是否满足某个条件,如果满足则返回第一个值,如果不满足则返回第二个值。


IF(logical, value1, value2)


参数说明

logical:是判断条件,该判断条件的表达式会输出真( true )和假( false )两种值。 value1:是当判断条件为真( true )时的返回值。 value2:是当判断条件为假( false )时的返回值。

注①:IF() 支持嵌套使用,并且可以用于检查单元格是否为空。

示例


// 对数值进行比较,例如下例 {成绩} 字段为数字类型且单元格值为 80 时:公式:IF({成绩} > 60, "及格", "不及格")运算结果:"及格"// 对文本进行比较,例如下例 {任务进度} 字段为单选类型且单元格值为 "已完成" 时:公式:IF({任务进度} = "已完成", "done", "in progress")运算结果:"done"// 对日期进行比较,例如下例 {截止时间} 字段为日期类型且单元格值晚于今天:公式:IF(IS_AFTER({截止时间},TODAY()), "未过期", "已过期")运算结果:"未过期"// 判断空值,例如下例 {文章内容} 字段为文本类型且单元格值为空时:公式:IF({文章内容} = BLANK(), "为空", "已撰写")运算结果:"为空"// 嵌套多层判断条件。例如下例 {成绩} 字段为数字类型,且单元格值为 70 时:公式:IF({成绩} > 60, IF({成绩} < 80, "中等", "优秀"), "不及格")运算结果:"中等"// 多个判断条件同时成立就输出真。例如下例 {成绩} 字段为数字类型,且单元格值为 90 时:公式:IF({成绩} > 80 && {成绩} <= 100, "优秀", "其他")运算结果:"优秀"// 多个判断条件只要有一个成立就输出真。例如下例 {成绩} 字段为数字类型且单元格值为 70 ,{才艺} 字段为文本类型且单元格值为 "A" 时:公式:IF({成绩} > 80 || {才艺} = "A", "优秀", "其他")运算结果:"优秀"





SWITCH()

本函数为多分支选择函数,它由表达式 + 多个(分支 + 返回值)组成,如果表达式等于某个分支值,则函数输出该分支对应的返回值。


SWITCH(expression, [pattern, result… ],[default])


参数说明

expression:是表达式,其运算的结果会与每个分支进行匹配。 pattern:是分支,每个分支表示表达式的可能运算结果。每一个分支都有对应的返回值。 result:是返回值,如果表达式的运算结果匹配了一个分支,则输出对应的返回值。 default:非必填,是默认值,如果运算结果没有匹配任何一个分支,则函数输出默认值。默认值未填写时为空值。注①:[pattern, result… ] 表示可以填写多个分支和返回值的组合。

示例


// 匹配文本值。下列中第一个 "C" 是 expression 即表达式。 "A" 和 "优秀" 分别是一组的 pattern 和 result,它表示如果 expression 为 "A" 时就输出 "优秀"。公式:SWITCH("C", "A", "优秀", "B", "中等", "C", "普通", "D", "较差", "没有成绩")运算结果:"普通"// 匹配文本类型字段 {评分} 中的值。当单元格内值为 "C" 时:公式:SWITCH({评分}, "A", "优秀", "B", "中等", "C", "普通", "D", "较差", "没有成绩")运算结果:"普通"// 和 IF() 函数一起搭配使用。下列字段 {国家}、{地区}为文本类型且单元格内值为 "中国"、"广东"时:公式:SWITCH({国家}, "中国", IF({地区}="广东", "粤语", "其他"), "俄国", "俄语", "法国", "法语", "其他")运算结果:"粤语"





TRUE()

返回逻辑值真( true )。


TRUE()


参数说明

该函数不需要填写参数。该函数可以判断勾选类型的维格列是否为 “已选中状态” ,见例子一; 该函数和 FALSE() 一起使用可以输出为真和假的布尔值,见例子二。

示例


// 判断勾选类型的字段的状态。例如下列 {是否完成} 字段为勾选类型且单元格值为 "已勾选"时:公式:IF({是否完成} = TRUE(), "已完成", "未完成")运算结果:"已完成"// TRUE() 和 FALSE() 一起使用输出布尔值。例如下列 {成绩} 字段为数字类型且单元格值为70 时:公式:IF({成绩} > 60, TRUE(), FALSE())运算结果:true




FALSE()

返回逻辑值假( false )。


FALSE()


参数说明

该函数不需要填写参数。该函数可以判断勾选类型的维格列是否为 “未选中状态” ,见例子一; 该函数和 TRUE() 一起使用可以输出为真和假的布尔值,见例子二。

示例


// 判断勾选类型的字段的状态。例如下列 {是否完成} 字段为勾选类型且单元格值为 "未勾选"时:公式:IF({是否完成} = FALSE(), "未完成", "已完成")运算结果:"未完成"// TRUE() 和 FALSE() 一起使用输出布尔值。例如下列 {成绩} 字段为数字类型且单元格值为50 时:公式:IF({成绩} > 60, TRUE(), FALSE())运算结果:false




AND()

如果所有参数均为真( true ),则返回真( true ),否则返回假( false )。


AND(logical1, [logical2, …])


参数说明

logical:是一个或多个逻辑条件。

示例


// 多个逻辑条件为真(true)时,输出真(true)。公式:AND(3 > 2, 4 > 3)运算结果:true// 多个逻辑条件的其中一个不为真(true)时,输出假(false)。公式:AND(3 > 2, 4 < 3)运算结果:false// 判断数值类型的字段是否都满足逻辑条件。例如下列字段 {数学成绩} 和 {语文成绩} 都是数字类型且单元格值分别为 70、80 时:公式:AND({数学成绩} > 60, {语文成绩} > 60)运算结果:true// 作为IF() 函数的判断条件使用。例如下列字段 {数学成绩} 和 {语文成绩} 都是数字类型且单元格值分别为 70、80 时:公式:IF(AND({数学成绩} > 60, {语文成绩} > 60), "合格", "不合格")运算结果:"合格"





OR()

如果任何一个参数为真( true ),则返回真( true ),否则返回假( false )。


OR(logical1, [logical2, …])


参数说明

logical:是一个或多个逻辑条件。

示例


// 多个逻辑条件为真(true)时,输出真(true)。公式:OR(3 > 2, 4 > 3)运算结果:true// 多个逻辑条件的其中一个不为真(true)时,输出真(true)。公式:OR(3 > 2, 4 < 3)运算结果:true// 多个逻辑条件全部都不为真(true)时,输出假(false)。公式:OR(3 < 2, 4 < 3)运算结果:false// 判断数值类型的字段是否满足任一逻辑条件。例如下列字段 {数学成绩} 、{语文成绩} 都是数字类型且单元格值分别为 50、80 时:公式:OR({数学成绩} > 60, {语文成绩} > 60)运算结果:true// 作为IF() 函数的判断条件使用。例如下列字段 {数学成绩}、{语文成绩} 都是数字类型且单元格值分别为 50、80 时:公式:IF(OR({数学成绩} > 60, {语文成绩} > 60), "合格", "不合格")运算结果:"合格"





XOR()

如果奇数个参数为真( true ),则返回真( true ),否则返回假( false )。


XOR(logical1, [logical2, …])


参数说明

logical:是一个或多个逻辑条件。

示例


// 奇数个逻辑条件为真(true)时,输出真(true)。公式:XOR(3 > 2, 4 < 3)运算结果:true// 偶数个逻辑条件为真(true)时,输出假(false)。公式:XOR(3 > 2, 4 > 3)运算结果:false// 判断数值类型的字段是否满足奇数个逻辑条件。例如下列字段 {数学成绩}、{语文成绩} 都是数字类型且单元格值分别为 50、80 时:公式:XOR({数学成绩} > 60, {语文成绩} > 60)运算结果:true// 作为IF() 函数的判断条件使用。例如下列字段 {数学成绩}、{语文成绩} 都是数字类型且单元格值分别为 50、80 时:公式:IF(XOR({数学成绩} > 60, {语文成绩} > 60), "合格", "不合格")运算结果:"合格"





BLANK()

表示一个空值。


BLANK()


参数说明

该函数不需要填写参数。该函数可以用来判断单元格是否为空值,见例子一; 该函数可以将单元格内的原内容替换为空值,见例子二; 注①:空值不是零值( 0 )哦。

示例


// 判断单元格是否为空值。下列字段 {开始时间} 是日期类型且单元格值为空值。公式:IF({开始时间} = BLANK(), "尚未确定时间", "已确定开始时间")运算结果:"尚未确定时间"// 将单元格内的原内容替换为空值。下列字段 {价格} 是数字类型且单元格值为 0 。公式:IF({价格} = 0, BLANK(), {价格})运算结果:空值




ERROR()

在单元格内显示错误提示和信息。


ERROR(message)


参数说明

message:非必填,要输出的错误信息,缺省值为 “#Error!” 。

示例


// 不填写错误信息,直接输出错误提示。下列字段 {年纪} 是数字类型且单元格值为 -1 。公式:IF({年纪} < 0, ERROR(), "正常")运算结果:#Error!// 填写错误信息,输出错误提示和信息。下列字段 {年纪} 是数字类型且单元格值为 -1 。公式:IF({年纪} < 0, ERROR("统计错误"), "正常")运算结果:#Error: 统计错误




IS_ERROR()

检查一个表达式是否运行错误,如果错误则返回真( true )。


IS_ERROR(expression)


参数说明

expression:是需要检查的表达式。表达式可以是算术运算、逻辑判断等类型。

示例


// 算术运算出现错误。公式:IS_ERROR(2/0)运算结果:true// 文本与数字进行混合运算出现错误。公式:IS_ERROR("哈哈"*2)运算结果:true




NOT()

将逻辑条件反转。


NOT(logical)


参数说明

logical:是逻辑条件,经过逻辑条件运算结果一般为真( true )和假( false )。本函数会将逻辑条件求反,例如: 如例子一:NOT( 2 > 3 ) 经过反转后实际是判断 2 <= 3; 如例子二:NOT({年纪} > 18) 经过反转后,实际是判断 {年纪} ≤ 18。

示例


// 将逻辑条件反转。如下列经过反转后实际是判断 2 <= 3。公式:NOT(2 > 3)  运算结果:true// 引入数字类型的字段 {年纪} ,将逻辑条件反转。如下列经过反转后实际是判断 {年纪} ≤ 18。 当单元格内值为 12。公式:NOT({年纪} > 18)运算结果:true



上一个
文本函数
下一个
日期函数
最近修改: 2023-06-01Powered by