Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 如果列包含日期,则使用IF语句计算日期之间的天数_Excel_Vba_Excel Formula - Fatal编程技术网

Excel 如果列包含日期,则使用IF语句计算日期之间的天数

Excel 如果列包含日期,则使用IF语句计算日期之间的天数,excel,vba,excel-formula,Excel,Vba,Excel Formula,我有两个专栏,最后上传和最后日期。我有一个公式来计算今天和上次上传之间的差异 =DATEDIF( [@[Last Upload]],TODAY(),"d") 但是,有时最后一个上载列将为空,在这种情况下,我们希望使用最终日期列 当列不为空时,是否有方法合并并使用上述语句;当列为空时,是否有方法合并并使用其他语句?我一直试图用IF语句来嵌套它,但很难做到。您可以使用ISBLANK公式和IF公式组合使用 =DATEDIF(IF(ISBLANK([@[Last Upload]]),[@[Final

我有两个专栏,最后上传和最后日期。我有一个公式来计算今天和上次上传之间的差异

=DATEDIF( [@[Last Upload]],TODAY(),"d")
但是,有时最后一个上载列将为空,在这种情况下,我们希望使用最终日期列


当列不为空时,是否有方法合并并使用上述语句;当列为空时,是否有方法合并并使用其他语句?我一直试图用IF语句来嵌套它,但很难做到。

您可以使用
ISBLANK
公式和
IF
公式组合使用

=DATEDIF(IF(ISBLANK([@[Last Upload]]),[@[Final Date Upload]],[@[Last Upload]]),TODAY(),"d")
替代解决方案:

=DATEDIF(IF(LEN([@[Last Upload]]),[@[Last Upload]],[@[Final Date]]),TODAY(),"d")

LEN
可能比
ISBLANK

更能防止错误,我似乎得到了#值!当我试着输入公式时,试着看看=ISBLANK([@[Last Upload]])的返回值是多少。很有趣。。。即使最后一个上载列中没有值,它也返回FALSE。当我在单元格的公式内单击并单击“出”时,它会将其设置为TRUE