在编写Excel公式时,是否将值设置为true,“true”或true()?我应该在公式中使用什么布尔值,true,“true”或true()
换句话说,以下哪一项最好?还是取决于具体情况?
if (A1 = 1, true, false)
if (A1 = 1, "true", "false")
if (A1 = 1, true(), false())
在编写Excel公式时,是否将值设置为true,“true”或true()?我应该在公式中使用什么布尔值,true,“true”或true()
换句话说,以下哪一项最好?还是取决于具体情况?
if (A1 = 1, true, false)
if (A1 = 1, "true", "false")
if (A1 = 1, true(), false())
我强烈建议避免第二种方法,因为您使用的是字符串文字。如果你使用了单元格中的第二种方法,那么稍后需要引用第二个单元格的值,那么将无法使用TRUE或TRUE()来比较它。
据我所知,第一种或第三种方法确实没有太大区别。 TRUE()
只是一个返回TRUE的Excel函数。
更好的仍然是简单的:
=A1=1
这使TRUE或FALSE进入细胞内以较少的复杂性。
试试这个小实验。下面的公式复制到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
TRUE
和FALSE
。但是,=
将字符串和布尔值视为不同。为了保持一致性,您应该使用布尔文字,而不是字符串值(选项1),否则您的结果可能会意外不正确(有时选项2)。使用只返回文字值的公式没有多大意义(选项3)。
这很有道理,谢谢!想知道是因为另一位程序员在Excel中互换使用了真正的“真实”,所以我会纠正这一点。顺便说一句,我读你的个人资料 - 我是VBA流亡的.NET程序员,所以我感到你的痛苦。 – LFurness 2010-08-24 17:13:23
很高兴为您服务!不流放盛大? – LittleBobbyTables 2010-08-24 17:24:28