历史版本20 :IF 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 版本编辑

FineBI 版本
功能变动
6.0
-
6.0.16
增强 if 函数多条件赋值能力

2. 概述编辑

进行条件判断,如果指定条件的计算结果为 TRUE,IF 函数将返回某个值;如果该条件的计算结果为 FALSE,则返回另一个值。

语法
IF(boolean,number1/string1/date1,number2/string2/date2)
参数1boolean

判断函数。若为true,返回“参数2”;若结果为 false,返回“参数3”

参数2number1/string1/date1参数2 和 参数3 的返回值支持返回「数字、文本、日期」三种字段类型
参数3number2/string2/date2

3. 注意事项编辑

  • IF 中三个参数,第一个为 bool 类型(true 或者 false)或数值类型(0或者1);第二个和第三个参数相同类型,两个参数中有空,返回非空参数类型;两个参数类型不同:返回文本类型。

  • 添加计算字段 写入公式时,使用的字段不能进行过 明细过滤 。这是因为 明细过滤后的指标仅支持聚合函数 ,如果需要使用 IF 函数,则使用的字段不能进行过明细过滤,可以用其他过滤替代。

4. 示例编辑

4.1 示例一:单条件判断

示例数据:成绩表.xlsx

1)判断学生成绩是否合格。在主题中使用 新增列 ,输入如下图公式。

若 成绩≥60,返回“合格”,否则返回“不合格”

2)计算结果如下图所示:

4.2 示例二:多条件判断

若还想进一步将学生的成绩分成「优秀、良好、及格、不及格」,用 IF 函数如何实现呢?

  • 成绩<60分:不及格

  • 60≤成绩<70:及格

  • 70≤成绩<80:良好

  • 成绩≥80:优秀

注:多条件判断,条件数不能超过200个。

1)使用示例数据,在主题中使用 新增列 ,输入如下图公式。

成绩满足第一个条件“<60”时,返回“不及格”;满足了第一个条件的数据,不再参与第二个条件的判断;满足第一个条件和第二个条件的数据,不再参与第三个条件的判断,以此类推...

16.jpg

若 FineBI 版本在 6.0.16 之前,多条件判断需要写 if 函数嵌套。

本示例实现公式:if(成绩<60,"不及格",if(成绩<70,"及格",if(成绩<80,"良好","优秀")))

2)计算效果如下图所示:

4.3 更多常用示例

场景示例公式详解
判断是否为 null IF(isnull(订单编号),0,1)若订单编号为 null ,返回 0,否则返回1
IF+且条件IF(AND(条件1,条件2),"是","否")当条件 1 和条件 2 同时满足时,返回"是",否则返回"否"
IF+或条件IF(OR(条件1,条件2),"是","否")当满足条件 1 和条件 2 其中一个时,返回"是",否则返回"否"