条件赋值
1. 概述
1.1 应用场景
某公司有一张合同签单表,想对合同订单的金额进行分类。将 50 万以下的归为小单,50~100 万的归为中单,100 万以上的归为大单。
如下图所示:
1.2 功能简介
条件赋值可替代 IF/IFS 函数,实现复杂条件,在可视化窗口中,通过简单的参数设置,即可实现多条件分组赋值的效果:
- 支持普通条件、公式条件,支持同时添加多个不同类型的条件,灵活进行赋值;
- 支持复制/粘贴条件,快速实现条件的复用;
- 支持拖拽移动条件顺序,调整逻辑关系。
2. 示例
示例数据:地区数据分析.xlsx
2.1 创建分析表
下载示例数据并上传到产品中,将示例数据添加到项目中,点击「创建分析表」,如下图所示:
2.2 条件赋值
1)在分析表中点击「+>新增字段」,添加一个「条件赋值」。如下图所示:
2)新增字段名为「订单规模」,设置第一个条件:合同金额<500000 的,归为小单。如下图所示:
3)点击「添加条件」增加一个条件,设置为:合同金额介于 500000-1000000 的,归为中单。剩下的是合同金额>1000000的单子,归为大单。如下图所示:
2.3 效果查看
可以看到分析表中新增了一列「订单规模」,将不同合同金额大小的订单进行了赋值,下一步可以统计不同订单规模的数量是多少。
3. 条件赋值界面介绍
3.1 添加多个条件
点击一次「添加条件」按钮,即添加一个条件。如需设置多个条件,请点击多次「添加条件」按钮。
3.2 切换条件
默认添加的条件为「普通条件」,如需使用公式来进行筛选,可以切换成「公式条件」。两种条件可以自定义组合,可根据实际业务场景需求选取。
3.3 按钮说明
1)在条件右侧有一些按钮,例如复制、删除等等。如下图所示:
2)点击「批量」即可进入批量模式,各按钮说明见下表:
复制/粘贴 | 如您需要复用一些复杂的条件,复制粘贴即可,无需重新设置 |
删除 | 如您不需要此条件了,可以删除条件 |
批量 | 进入批量模式,可以批量删除条件、批量复制条件等等 |
拖拽条件 | 条件是从上到下的顺序执行的,可以调整条件的位置顺序,以确保逻辑正确 |
合并为公式 | 可以将已有的条件转化为公式,在此基础上修改。详情参见本文 3.4 节 若全选所有条件(包含 else 条件),会将条件赋值步骤转化成公式步骤。 |
3.4 合并为公式
3.4.1 场景一
1)用户在设置条件时,需要结合多个条件判断一个赋值,例如需要将「合同金额<500000,且回款金额<300000」判断为小单。如下图所示:
2)可以先设置两个条件,再勾选将这两个条件「合并为公式」。如下图所示:
3)那么会将这两个条件自动转化为公式,在此基础上可继续修改。如下图所示:
4)那么就可以将两个条件转化成公式,再将上面两个条件删除即可。
3.4.2 场景二
用户在写公式条件时,有些条件不知道如何用公式表达,比如开头是、结尾是、包含等等。可以先配置普通条件,再使用「合并为公式」将其转换成公式条件,在此基础上进行修改。如下图所示:
3.5 注意事项
1)当普通条件包含以下情况时,不支持将「普通条件」一键转化为「公式条件」:
- 配置使用了「最大的 N 个」、「最小的 N 个」
- 配置使用了「动态时间」
- 配置使用了「多值参数」
2)若您需要在公式中使用「动态时间」,请参照以下表格自行书写公式。如下图所示:
基础日期(起始) =TODAY() | A(Y/Q/M/W/D)前/后 前,A为负数 后,A为正数 | Y/Q/M/W/D 初 | Y/Q/M/W/D 末 | 当天 |
年 | YEARDELTA(基础日期,A) | DATE(YEAR(基础日期),"1","1") | DATE(YEAR(基础日期),"12","31") | / |
季 | MONTHDELTA(基础日期,A*3) | DATE(YEAR(基础日期),INT((MONTH(基础日期)-1)/3)*3+1,"1") | DATEDELTA(DATE(YEAR(基础日期),INT((MONTH(基础日期)-1)/3)*3+4,"1"),-1) | / |
月 | MONTHDELTA(基础日期,A) | DATE(YEAR(基础日期),MONTH(基础日期),"1") | DATEDELTA(DATE(YEAR(基础日期),MONTH(基础日期)+1,"1"),-1) | / |
周 | DATEDELTA(基础日期,A*7) | DATEDELTA(基础日期,1-IF(WEEKDAY(基础日期)=0,7,WEEKDAY(基础日期))) | DATEDELTA(基础日期,7-IF(WEEKDAY(基础日期)=0,7,WEEKDAY(基础日期))) | / |
天 | DATEDELTA(基础日期,A) | / | / | / |
工作日 | WORKDAY.CN(基础日期,A) | / | / | / |
多个动态时间组合 | ||||
按勾选的时间单位依次计算,从「TODAY()」开始,依次将「基础日期」替换为上一个单位计算结果。 若包含年/季/月/周的初/末设置,将初/末函数嵌套在最末。 若设置为 0 年/季/月/周/天/工作日或当天,对应单位不需要计算。 示例1:设置 2年前、2月前,月初 1)按单位依次计算
2)最终输出转换的动态日期公式=DATE(YEAR(MONTHDELTA(YEARDELTA(TODAY(),-2),-2)),MONTH(MONTHDELTA(YEARDELTA(TODAY(),-2),-2)),"1") 示例2:设置 0年前、1月前, 当天 1)按单位依次计算
2)最终输出转换的动态日期公式=MONTHDELTA(TODAY(),-1) |