黄秋葵的做法:浅析Excel 中数值 文本 逻辑值之间有怎样的关系

来源:百度文库 编辑:九乡新闻网 时间:2024/04/29 23:25:59
2010年7月8日 Surda
A B C
1      =IF(B1,A1/B1,"")
2     =IF(A1+B1,A1+B1,"")
3     =IF(A1*B1,A1+B1,"")
有时候我们看到以上公式写法,=IF(B1,A1/B1,"")用来屏蔽B1为0或空单元格时产生的#DIV/0!错误,明明B1输入的是数值,怎么直接用来判断了呢,逻辑值与数值之间到底有什么关系啊?
用下面这三条互换准则来浅析Excel中数、文本、逻辑值之间的关系:
在四则运算中,TRUE=1,FALSE=0 在逻辑判断中,0=FALSE,所有的非0 数值=TRUE 在比较运算中,数值<文本看到第二准则,我们就可理解上例中的写法了,下面我们来看例子公式执行示例(给A列单元格赋值 1 时)
A B C 结果
1 1   =IF(B1,A1/B1,"")
2 1   =IF(A1+B1,A1+B1,"") 1
3 1   =IF(A1*B1,A1+B1,"")
结果只有=IF(A1+B1,A1+B1,"")条件为真,执行了A1+B1,因为 + 或者关系,相当于公式写成
=IF(or(A1,B1),A1+B1,"") 效果一样。
那文本型数字与逻辑值在 SUM 函数中如何计算?
为何 SUM("1",TRUE,2)=4,而 SUM("1",{TRUE,2})=3 ?
当文本型数字与逻辑值作为独立参数,且不是单元格引用时,SUM 函数能自动识别文本型数字和逻辑值进行计算。
如A1="1",A2=TRUE,A3=2,则
=SUM(A1:A3)=2
只计算A3的数字2
=SUM(A1,A2,A3)=2
同样只计算A3的数字2,因为A1、A2虽然是独立参数,但却是单元格引用。
=SUM("1",TRUE,2)=4
所有参数都是独立且不是单元格引用,因此全部计算在内(逻辑值TRUE当1计算,FALSE当0计算)。
=SUM("1",{TRUE,2})=3
文本型数字"1"是独立参数,计算,逻辑值TRUE不是独立参数,是常量数组,不计算,所以结果为3。