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或空單元格時產(chǎn)生的#DIV/0!錯誤,明明B1輸入的是數(shù)值,怎么直接用來判斷了呢,邏輯值與數(shù)值之間到底有什么關系???
用下面這三條互換準則來淺析Excel中數(shù)、文本、邏輯值之間的關系:
- 在四則運算中,TRUE=1,F(xiàn)ALSE=0
- 在邏輯判斷中,0=FALSE,所有的非0 數(shù)值=TRUE
- 在比較運算中,數(shù)值<文本<FALSE<TRUE
看到第二準則,我們就可理解上例中的寫法了,下面我們來看例子公式執(zhí)行示例(給A列單元格賦值 1 時)
A | B | C | 結(jié)果 | |
1 | 1 | =IF(B1,A1/B1,"") | ||
2 | 1 | =IF(A1+B1,A1+B1,"") | 1 | |
3 | 1 | =IF(A1*B1,A1+B1,"") |
結(jié)果只有=IF(A1+B1,A1+B1,"")條件為真,執(zhí)行了A1+B1,因為 + 或者關系,相當于公式寫成
=IF(or(A1,B1),A1+B1,"") 效果一樣。
那文本型數(shù)字與邏輯值在 SUM 函數(shù)中如何計算?
為何 SUM("1",TRUE,2)=4,而 SUM("1",{TRUE,2})=3 ?
當文本型數(shù)字與邏輯值作為獨立參數(shù),且不是單元格引用時,SUM 函數(shù)能自動識別文本型數(shù)字和邏輯值進行計算。
如A1="1",A2=TRUE,A3=2,則
=SUM(A1:A3)=2
只計算A3的數(shù)字2
=SUM(A1,A2,A3)=2
同樣只計算A3的數(shù)字2,因為A1、A2雖然是獨立參數(shù),但卻是單元格引用。
=SUM("1",TRUE,2)=4
所有參數(shù)都是獨立且不是單元格引用,因此全部計算在內(nèi)(邏輯值TRUE當1計算,F(xiàn)ALSE當0計算)。
=SUM("1",{TRUE,2})=3
文本型數(shù)字"1"是獨立參數(shù),計算,邏輯值TRUE不是獨立參數(shù),是常量數(shù)組,不計算,所以結(jié)果為3。