是否仅在两个单元格都不是空的情况下才执行计算? [英] Perform calculation only if both cells are not blank with arrayformula?
本文介绍了是否仅在两个单元格都不是空的情况下才执行计算?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我很难理解我在Google Sheet中的逻辑出了什么问题。
想象一下,如果我有两列带有日期的列(列A和列G)。并且我有一个空列来执行日期差异(A和G)的计算,并使用数组公式包含开始/结束日期。我写了以下内容:
=ARRAYFORMULA(IF(AND(NOT(ISBLANK(A2:A)), NOT(ISBLANK(G2:G))),DAYS(A2:A,G2:G)+1))
但它在第一行向我返回False,即使单元格A和G都有日期,并且数组公式无法为后续行填写。
如果我使用OR运算符更改为以下内容:
=ARRAYFORMULA(IF(OR(NOT(ISBLANK(A2:A)), NOT(ISBLANK(G2:G))),DAYS(A2:A,G2:G)+1))
它确实起作用了,但不是我希望它的行为。如果填充了任一列,则生成-44468或44468;如果两列都未填充,则生成1。
我如何修复上面的代码,以便如果单元格A和G都不为空,则只执行日期差异的计算,否则返回为空或空白?
我希望使用数组公式,这样以后就不必将公式复制到每一行中。
推荐答案
确实,我学到了一些新东西--使用IF
、AND
和OR
逻辑函数处理数组公式的布尔代数。
我设法让另一个解决方案产生了正确的结果。
=ARRAYFORMULA(IF((A2:A<>"")*(G2:G<>""), DAYS(A2:A,G2:G)+1,""))
这篇关于是否仅在两个单元格都不是空的情况下才执行计算?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文