如何在 Excel 中编写一个公式来评估一行中的每个值是否为 TRUE?

如何在 Excel 中编写一个公式来评估一行中的每个值是否为 TRUE?

基本上,我想要以最有效的方式做类似下面的事情,并且使用更多的列:

=and(f2=true,g2=true,h2=true,i2=true)

谢谢。

答案1

您可以使用数组公式非常简洁地完成此操作。将以下内容粘贴到公式栏中,然后按Ctrl+ Shift+ Enter

=AND(F2:I2)

编辑:
回应 Jerry 的评论,如果您要检查的范围包含布尔值以外的任何内容,则需要使用更具体的公式(因为所有文本、空白和不等于 0 的数字都将被评估为TRUE)。以下内容仅将布尔值为真的单元格视为TRUE真。

=AND(F2:I2=TRUE)

这也应该通过按 ++Ctrl来作为数组函数输入。ShiftEnter

如果您碰巧想将和TRUE都算作真,那么1您可以使用这个更复杂的数组公式(用Ctrl++输入)。ShiftEnter

=AND(NOT(ISERROR(MATCH(F2:I2,{TRUE,1},0))))

答案2

你可以做类似这样的更短的事情:

=COUNTIF(F2:I2,TRUE)=4

这将计算数量TRUE并检查是否有 4。

或者,如果您不想“计算”它们并输入数字...

=COUNTIF(F2:I2,TRUE)=COUNTA(F2:I2)

以上不会考虑空白单元格。如果您也想计算它们:

=COUNTIF(F2:I2,TRUE)=COUNTA(F2:I2)+COUNTBLANK(F2:I2)

答案3

另一种选择是利用在某些情况下 TRUE 计算为 1 而 FALSE 计算为 0 的事实。

TRUE 和 FALSE 评估的描述

使用上面的链接,您可以使用该功能

=product(F2:I2*1) 

如果它们全都为真,则计算结果为 1,如果有任何假或空白,则计算结果为 0。

此功能需要按Ctrl+Shift+回车因为它是一个数组公式。

相关内容