| |
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
- 在比较运算中,数值<文本<FALSE<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。
Recent Comments