我正在尝试找出两组日期之间的最小差异。
最简单的数组公式可以工作并找到最小的差异,但如果其中 1 列缺少日期,它会将空白单元格视为 0,并且天数的最小差异的结果将变成 -42634(这不是我想要的)。
{=MIN(X23:X95-P23:P95)}
经过一些阅读后,我尝试仅当两列都不为空并且仅对单行起作用时才进行减法......
=IF(OR(ISBLANK(X23),ISBLANK(P23)),"",X23-P23)
如果我尝试用...#VALUE!
包装它,它会返回错误MIN
=MIN(IF(OR(ISBLANK(X23),ISBLANK(P23)),"",X23-P23))
我不是 Excel 专家,但我猜是因为 aMIN
中只有空白单元格会引发错误,因为我读到它应该忽略空白。在两个单元格上使用MIN
/MAX
似乎证实了这一点,其中一个单元格包含日期,另一个单元格为空白,因为它只显示日期。
我尝试将其合并到原始公式中,但我不知道自己在做什么,最终再次出现错误#VALUE!
。帮忙吗?
{=MIN(IF(OR(ISBLANK(X23:X95),ISBLANK(P23:P95)),"",X23:X95-P23:P95))}
答案1
OR
将其所有参数评估为一个结果(而不仅仅是成对的)。
根据需要评估它
IF(ISBLANK(X23:X95)+ISBLANK(P23:P95)...
提示:为了更好地理解您的公式,您可以对其进行评估,并在公式 - “评估公式”中逐步查看结果
编辑
使用+
、-
、/
、*
运算符,Excel 会自动将布尔值转换为整数(True -> 1;False -> 0),因此加法(+
)的作用类似于 OR,乘法(*
)的作用类似于 AND。
之后,IF
将数字转换回布尔值(0 -> False,非零 -> True)。