用IF()函数解决业务中的判断问题

一、功能简介

IF () 函数是最常用的函数之一,它可以对值和期待值进行逻辑判断。

因此 IF 语句可能有两个结果:

第一个结果是判断结果为 True(代表条件匹配)

第二个结果是判断结果为 False(代表条件不匹配)。

二、函数说明

函数用法说明:
IF(条件,判断结果为真时的赋值设置,判断结果为假时的赋值设置)

函数示例

假设性别字段值已知,我们要根据性别字段值判断一个人的考试项目,性别为女则考试项目为800米,性别为男则考试项目为1500米。

如果IF函数中条件设置为“性别=男”,数据中性别字段值为男时,则判断结果为True;如果条件不符合,则判断结果为False。

不同的判断结果会返回不同的参数,使用IF函数表达有两种形式:

形式1:

条件为性别为男,符合条件则返回1500米,性别不为男则返回800米;

对应函数表达式形式:IF({当前数据.性别}=男,1500,800)

形式2:

条件为性别为女,符合条件则返回800米,不符合条件则返回1500米

对应函数表达式形式:IF(当前数据.性别}=女,800,1500)

三、IF()函数使用详细讲解

以我们的MBTI人格测试工作区为例:

我们运用IF()函数对填写人的答案进行评分赋值,若选A则赋值为1,若选B则赋值为0,最后将评分相加到一起我们所得出的MBTI人格。

举一反三,那IF() 函数还可以做什么呢?

案例一:判断到货状态为【未到货】或【已到货】

首先,我们先来解决较为简单的第一部分场景。

假设采购明细的到货状态有两种情况【未到货】和【已到货】,那么如何在人工填入到货数量后,系统自动判断到货状态?

这个场景存在两种唯一、独立且不重合的情况:

  • 当到货数量等于0,则到货状态为【未到货】;

  • 当到货数量等于采购数量,则到货状态为【已到货】。

用以上两种情况,作为工作流的逻辑判断规则,函数可以按照如图步骤写入:

在字段赋值框内输入“IF”,从下方选择系统推荐中的IF函数(或者手动在IF后方添加半角括号)。

根据上面逻辑判断规则中的两种情况,配置IF函数的参数。此规则有两种函数写法。

形式一:

一种是条件写为“到货数量为0”,则函数写为:

IF({当前数据.到货数量-新值}=0,{C:采购明细.到货状态.未到货},{C:采购明细.到货状态.已到货})

形式二:

另一种条件相反,写为到货数量等于采购数量,则函数写为:

IF({当前数据.到货数量-新值}= {当前数据.采购数量-新值},{C:采购明细.到货状态.已到货},{C:采购明细.到货状态.未到货})

两种写法根据个人爱好,择其一即可,如下图:

注意事项:

① 当自动化工作流触发动作仅选择了“修改数据”时,选择字段时才会出现新值原值,其他情况无新值、原值是正常的;

② 当数据发生修改时,保存前的值为该字段值的原值,保存后的值为该字段值的新值,新值原值可能不同,也可能相同。

③ 写好之后保存工作流,进入表格修改数据,验证一下工作流执行结果是否正确。在采购明细表中更改任意一条数据的到货数量,观察对应数据的到货状态返回结果对不对。

案例二:判断到货状态为【未到货】、【部分到货】或【全部到货】

掌握了IF函数的基础用法之后,我们来解决文章开头的问题,进一步掌握IF()函数的嵌套用法:

  • 若采购的产品明细中到货数量等于0时,到货状态为“未到货”;

  • 若到货数量大于0且小于该明细的采购数量,则到货状态变更为“部分到货”;

  • 若到货数量大于等于采购数量,则到货状态变更为“全部到货”。

根据以上逻辑判断规则,我们首先判断到货数量是否等于0,再判断到货数量是否大于0且小于采购数量,当前两种条件都不满足,则说明是全部到货。对应函数写为:

IF({当前数据.到货数量-新值}=0,{C:采购明细.到货状态.未到货},IF(AND({当前数据.到货数量-新值}>0,{当前数据.到货数量-新值}< {当前数据.采购数量-新值}),{C:采购明细.到货状态.部分到货}, {C:采购明细.到货状态.全部到货}))

函数式在第一个IF函数内,第三个参数位置使用了第二个IF判断了第二种情况,前两种情况都不满足则返回第三种情况,即“全部到货”。

保存工作流后,修改数据,验证工作流执行结果 :

在采购明细中输入不同条件范围的数值,观察到货状态的结果是否正确 。

2022-08-16 更新
1659 次查看
3 0