2016-08-22 334 views
0

我有4个字段保存日期信息定期更新,我需要添加一个第5场,做了以下在数据透视表报告:Excel中 - 最接近计算日期系统日期

检查是否所有的字段是空的,如果不计算最接近系统日期(当前日期)的字段值(日期),我有第一部分,但if语句的第二部分让我难住。

IF(AND(GT14="",GU14="",GV14="",GW14="",GX14=""),"No Tollgate Dates",if statement to field that is closest to most recent month) 

任何帮助将不胜感激。

+1

辅助列可能没有问题 – Quinn

+0

所有日期都是历史性的(小于系统时间)还是混合过去/未来? – pnuts

+1

他们是混合... – Quinn

回答

1

您可以像Ron Rosenfeld所说的那样使用ABS函数,可以在助手行中获取绝对差值并找到最小值的日期,也可以使用数组公式。可能有两种解决方案,例如如果今天是2016年8月22日,21/8/16和23/8/16两者都是正确的,如果所有其他日期更远。

=MIN(IF(ABS(GT14:GX14-TODAY())=MIN(ABS(GT14:GX14-TODAY())),GT14:GX14)) 

找到较早的一个

=MAX(IF(ABS(GT14:GX14-TODAY())=MIN(ABS(GT14:GX14-TODAY())),GT14:GX14)) 

找到的后一个。

您可以将此公式放入您的现有公式中,但如前所述,它可能会有点长。

1

这应该做的伎俩:

=IF(SUM(GT14:GX14)=0,"No Tollgate Dates",INDEX(GT14:GX14,MATCH(SMALL(ABS(TODAY()-(GT14:GX14)),1),ABS(TODAY()-(GT14:GX14)),0))) 

这是一个数组公式,所以你必须用Ctrl + Shift +回车。