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

目录:

1. 版本编辑

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

2. 概述编辑

语法

IF(条件表达式1,结果1,条件表达式2,结果2,.....,其他结果)

如果满足条件表达式1,则返回结果1,如果满足条件表达式2且不满足条件表达式1,则返回结果2,如果无满足的条件表达式,则返回其他结果。

参数1条件表达式

输出的结果需为布尔类型或数值类型

参数2结果参数所有结果参数的类型必须需相同

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 其中一个时,返回"是",否则返回"否"