历史版本3 :判断某日期字段是否在指定时间段内 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 预期效果

用户有时需要判断某个时间字段是否在指定时间段内,例如,需要判断「开票时间」是否在「开票时间」和「发货时间」之间,如下图所示:

1602819313971701.png

1.2 实现思路

使用 IFAND 、DATEDIF 实现。

分别计算「发货时间」与「入账时间」时间差、「开票时间」与「入账时间」时间差、「发货时间」与「开票时间」时间差;

使用 IF 判断,如果「发货时间」与「入账时间」时间差同时大于另外两个时间差,则「开票时间」在「入账时间」和「发货时间」之间。

2. 操作步骤编辑

示例数据:判断时间.xlsx

上传 Excel 数据集至 FineBI 中,如下图所示:

1602819954956309.png

2.1 创建自助数据集

添加自助数据集,选择 Excel 数据集,并勾选所有字段,如下图所示:

1602820260914353.png

2.2 判断时间

点击「+」,添加「新增列」,如下图所示:

1602820312114323.png


命名新增列为「判断结果」,输入公式IF(AND(DATEDIF(入账时间,发货时间,"D")>(DATEDIF(开票时间,发货时间,"D")),DATEDIF(入账时间,发货时间,"D")>DATEDIF(开票时间,入账时间,"D")),"是","否"),点击「确定」,如下图所示:

1602838216400046.png

注:公式框中的函数、字段都需要点击左侧的选择区域选择,不能手动输入。

公式说明:

公式
说明
DATEDIF(入账时间,发货时间,"D")计算「入账时间」和「发货时间」之间的时间差天数
AND(DATEDIF(入账时间,发货时间,"D")>(DATEDIF(开票时间,发货时间,"D")),DATEDIF(入账时间,发货时间,"D")>DATEDIF(开票时间,入账时间,"D"))「发货时间」与「入账时间」之间的时间差天数同时大于另外两个时间差天数,则返回TRUE,否则返回FALSE
IF(AND(DATEDIF(入账时间,发货时间,"D")>(DATEDIF(开票时间,发货时间,"D")),DATEDIF(入账时间,发货时间,"D")>DATEDIF(开票时间,入账时间,"D")),"是","否")如果为TRUE,则输出"是",否则输出"否"

2.3 效果查看

详情参见本文 1.1 节。