历史版本13 :条件赋值 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 应用场景

某公司有一张合同签单表,想对合同订单的金额进行分类。将 50 万以下的归为小单,50~100 万的归为中单,100 万以上的归为大单。

如下图所示:

Group 4.png

1.2 功能简介

条件赋值可替代 IF/IFS 函数,实现复杂条件,在可视化窗口中,通过简单的参数设置,即可实现多条件分组赋值的效果:

  • 支持普通条件、公式条件,支持同时添加多个不同类型的条件,灵活进行赋值;

  • 支持复制/粘贴条件,快速实现条件的复用;

  • 支持拖拽移动条件顺序,调整逻辑关系。

2. 示例编辑

示例数据:地区数据分析.xlsx

2.1 创建分析表

下载示例数据并上传到产品中,将示例数据添加到项目中,点击「创建分析表」,如下图所示:

Group 11.png


2.2 条件赋值

1)在分析表中点击「+>新增字段」,添加一个「条件赋值」。如下图所示:

Group 30.png

2)新增字段名为「订单规模」,设置第一个条件:合同金额<500000 的,归为小单。如下图所示:

Group 31.png

3)点击「添加条件」增加一个条件,设置为:合同金额介于 500000-1000000 的,归为中单。剩下的是合同金额>1000000的单子,归为大单。如下图所示:

Group 32.png

2.3 效果查看

可以看到分析表中新增了一列「订单规模」,将不同合同金额大小的订单进行了赋值,下一步可以统计不同订单规模的数量是多少。

 Group 33.png

3. 条件赋值界面介绍编辑

3.1 添加多个条件

点击一次「添加条件」按钮,即添加一个条件。如需设置多个条件,请点击多次「添加条件」按钮。

Group 34.png

3.2 切换条件

默认添加的条件为「普通条件」,如需使用公式来进行筛选,可以切换成「公式条件」。两种条件可以自定义组合,可根据实际业务场景需求选取。

Group 35.png

3.3 按钮说明

1)在条件右侧有一些按钮,例如复制、删除等等。如下图所示:

Group 36.png

2)点击「批量」即可进入批量模式,各按钮说明见下表:


复制/粘贴如您需要复用一些复杂的条件,复制粘贴即可,无需重新设置
删除如您不需要此条件了,可以删除条件
批量进入批量模式,可以批量删除条件、批量复制条件等等
拖拽条件条件是从上到下的顺序执行的,可以调整条件的位置顺序,以确保逻辑正确
合并为公式

可以将已有的条件转化为公式,在此基础上修改。详情参见本文 3.4 

若权限所有条件(包含 else 条件),即可将条件赋值步骤转化成公式步骤。

Group 37.png

3.4 合并为公式

3.4.1 场景一

1)用户在设置条件时,需要结合多个条件判断一个赋值,例如需要将「合同金额<500000,且回款金额<300000」判断为小单。如下图所示:

Group 38.png

2)可以先设置两个条件,再勾选将这两个条件「合并为公式」。如下图所示:

Group 39.png

3)那么会将这两个条件自动转化为公式,在此基础上可继续修改。如下图所示:

Group 40.png

4)那么就可以将两个条件转化成公式,再将上面两个条件删除即可。

Group 41.png

3.4.2 场景二

用户在写公式条件时,有些条件不知道如何用公式表达,比如开头是、结尾是、包含等等。可以先配置普通条件,再使用「合并为公式」将其转换成公式条件,在此基础上进行修改。如下图所示:

Group 42.png

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)按单位依次计算

  • 1 年前:B1=YEARDELTA(TODAY(),-2)

  • 2 月前:B2=MONTHDELTA(B1,-2)

  • 月初:C=DATE(YEAR(B2),MONTH(B2),"1")

2)最终输出转换的动态日期公式=DATE(YEAR(MONTHDELTA(YEARDELTA(TODAY(),-2),-2)),MONTH(MONTHDELTA(YEARDELTA(TODAY(),-2),-2)),"1")


示例2:设置  0年前、1月前, 当天

1)按单位依次计算

  • 0 年前:不计算

  • 1 月前:B=MONTHDELTA(TODAY(),-1,)

  • 当天:不计算

2)最终输出转换的动态日期公式=MONTHDELTA(TODAY(),-1)