我应该在公式中使用什么布尔值,true,“true”或true()

时间:2010-08-24 16:09:45

标签: excel variables boolean formula excel-formula

编写Excel公式时,是否将值设置为true,“true”或true()会有所不同吗?

换句话说,以下哪项是最好的?或者它取决于具体情况?

if (A1 = 1, true, false)

if (A1 = 1, "true", "false")

if (A1 = 1, true(), false())

3 个答案:

答案 0 :(得分:7)

我强烈建议避免使用第二种方法,因为你正在使用字符串文字。如果您使用单元格中的第二种方法,那么稍后需要引用第二个单元格的值,您将无法使用TRUE或TRUE()来比较它。

据我所知,第一种或第三种方法确实没有多大区别。 TRUE()只是一个返回TRUE的Excel函数。

答案 1 :(得分:2)

更好的还是简单:

=A1=1

这会将TRUE或FALSE放入单元格中,而且复杂性较低。

答案 2 :(得分:1)

尝试这个小实验。将以下公式复制到Excel中:

    A       B           C           D
1   TRUE    =NOT(A1)    =A1=TRUE    =A1=FALSE
2   FALSE   =NOT(A2)    =A2=TRUE    =A2=FALSE
3   'true   =NOT(A3)    =A3=TRUE    =A3=FALSE
4   'false  =NOT(A4)    =A4=TRUE    =A4=FALSE

我认为你会对结果感到惊讶:

    A       B       C           D
1   TRUE    FALSE   TRUE    FALSE
2   FALSE   TRUE    FALSE   TRUE
3   true    FALSE   FALSE   FALSE
4   false   TRUE    FALSE   FALSE

NOT()会将字符串值'true'false视为布尔值TRUEFALSE。但是,=将字符串和布尔值视为不同。

为了保持一致性,您应该使用布尔文字,而不是字符串值(选项1),否则您的结果有时会出乎意料地不正确(选项2)。使用仅返回文字值的公式没有多大意义(选项3)。