是否仅在两个单元格都不是空的情况下才执行计算? [英] Perform calculation only if both cells are not blank with arrayformula?

查看:10
本文介绍了是否仅在两个单元格都不是空的情况下才执行计算?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我很难理解我在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都不为空,则只执行日期差异的计算,否则返回为空或空白?

我希望使用数组公式,这样以后就不必将公式复制到每一行中。

推荐答案

确实,我学到了一些新东西--使用IFANDOR逻辑函数处理数组公式的布尔代数。

我设法让另一个解决方案产生了正确的结果。

=ARRAYFORMULA(IF((A2:A<>"")*(G2:G<>""), DAYS(A2:A,G2:G)+1,""))

这篇关于是否仅在两个单元格都不是空的情况下才执行计算?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆