@247454238
吼吼,今晚刚和学长聊了聊(微软office领域的mvp)
(在sum中,true和文本型的数字是会被作为数字计算的
如=SUM(TRUE)的结果为1
如=sum("10")的结果为10)
这句话是对的,为什么捏?
你举得例子,相当于把true,false,true,"10",等的value封装了,原理和把一个单元格的格式设置成文本,不能立刻显示成底层的公式一样。
原文是这样的the TRUE is converted to the number 1。同理,你在vlookup等函数的最后一个参数打T/F和打1/0是一样的。
而从底层的语法角度讲bool的值就是1/0,看下面原文(office是拿c++编的)
Does standard c++ define "true" to be always equal to 1?
Yes.
When a bool value is converted to an integer value, then
false -> 0
true -> 1
so,bool中T/F和1/0是完全等价的。
而你的实验,是利用了{true,false}不一定是运算布尔值得出的,与布尔值本身无关。
吼吼,今晚刚和学长聊了聊(微软office领域的mvp)
(在sum中,true和文本型的数字是会被作为数字计算的
如=SUM(TRUE)的结果为1
如=sum("10")的结果为10)
这句话是对的,为什么捏?
你举得例子,相当于把true,false,true,"10",等的value封装了,原理和把一个单元格的格式设置成文本,不能立刻显示成底层的公式一样。
原文是这样的the TRUE is converted to the number 1。同理,你在vlookup等函数的最后一个参数打T/F和打1/0是一样的。
而从底层的语法角度讲bool的值就是1/0,看下面原文(office是拿c++编的)
Does standard c++ define "true" to be always equal to 1?
Yes.
When a bool value is converted to an integer value, then
false -> 0
true -> 1
so,bool中T/F和1/0是完全等价的。
而你的实验,是利用了{true,false}不一定是运算布尔值得出的,与布尔值本身无关。



