今天要介紹的是Excel中最基本的6個(gè)邏輯函數(shù),包括: 1、邏輯值函數(shù)True()和False()函數(shù) 這兩個(gè)函數(shù)不需要參數(shù),返回邏輯值“TRUE”或者“FALSE”。實(shí)際上,在單元格中直接鍵入“true”或者“false”,系統(tǒng)也會(huì)自動(dòng)轉(zhuǎn)化為邏輯值。所以,這個(gè)函數(shù)好像用處不大。 2、條件判斷函數(shù)And()、Or()、Not()和If()函數(shù) And()函數(shù)對(duì)應(yīng)邏輯關(guān)系中的“與”,參數(shù)均為True時(shí)返回True,否則返回False,其語法結(jié)構(gòu)為:And(logical1,[logical1],……)。 其參數(shù)為邏輯值或者是可以轉(zhuǎn)化為邏輯值的表達(dá)式;如果是數(shù)字,非0當(dāng)作True看待,0當(dāng)作False看待;如果在公式中直接鍵入非邏輯值的數(shù)據(jù)作為參數(shù),結(jié)果會(huì)報(bào)錯(cuò);如果參數(shù)是數(shù)組或者單元格引用,函數(shù)會(huì)忽略文本和空值。 OR()函數(shù)對(duì)應(yīng)邏輯關(guān)系中的“或”,只要其中一個(gè)參數(shù)為True就返回True,參數(shù)均為False時(shí)才會(huì)返回False,其語法結(jié)構(gòu)和參數(shù)規(guī)則與And()函數(shù)相同。 Not()函數(shù)對(duì)應(yīng)邏輯關(guān)系中的“非”,返回與參數(shù)邏輯值相反的邏輯值。其語法結(jié)構(gòu)為:Not(logical) 。 If()函數(shù)的主要功能是通過條件判斷的結(jié)果True或者False返回不同的值。其語法結(jié)構(gòu)為:IF(logical_test,[value_if_true],[value_if_false]) ,其中: logical_test是判斷條件,可以是邏輯值或者是可以得出邏輯值的表達(dá)式,如果是數(shù)字,與上述的規(guī)則一樣,非0看作True,0看作False。 [value_if_true]表示條件判斷為True時(shí)返回的值。 [value_if_false]表示條件判斷為False時(shí)返回的值。 接下來,我們一起來了解幾個(gè)關(guān)于邏輯函數(shù)的使用技巧: 1、實(shí)際上,直接運(yùn)用比較運(yùn)算符“=、<>、>、<、>=、<=”等也可以進(jìn)行邏輯運(yùn)算,生成邏輯值。譬如在單元格E2鍵入公式“=C2/B2>=80%”與公式“=IF(C2/B2>=80%,TRUE(),FALSE())”效果是一樣的。 2、通過If()函數(shù)的嵌套可以實(shí)現(xiàn)多條件判斷并返回多個(gè)值,單元格F2的公式“=IF(B2>=3000,IF(C2/B2>=80%,"重點(diǎn)產(chǎn)品","非重點(diǎn)產(chǎn)品"),"非重點(diǎn)產(chǎn)品")”中,第二個(gè)參數(shù)就是一個(gè)嵌套的IF函數(shù)。此公式首先會(huì)判斷“B2”是否“>=3000”,如果否,則返回"非重點(diǎn)產(chǎn)品",計(jì)算結(jié)束;如果是,繼續(xù)判斷“C2/B2”是否“>=80%,”,然后通過判斷結(jié)果返回不同值。 但是如果嵌套層次太多,還是挺燒腦的,此時(shí)一般建議用其它函數(shù)代替。 3、And()函數(shù)有時(shí)候可以用“*”來代替。單元格J2的公式“=(B2>=3000)*(C2/B2>=80%)”等效于“=AND(B2>=3000,C2/B2>=80%)”。 4、Or()函數(shù)則可以用“+”來代替。單元格K2的公式“=OR(B2>=3000,C2/B2>=80%)”也可以寫作L列的“=(B2>=3000)+(C2/B2>=80%)”。 不過要注意的是,加減乘除運(yùn)算符計(jì)算后,邏輯值會(huì)自動(dòng)轉(zhuǎn)化為數(shù)值。特別是用“+”代替OR()函數(shù)時(shí),會(huì)出現(xiàn)大于1的非0數(shù)值,雖然都是對(duì)應(yīng)邏輯值True,但要提前判斷是否影響后續(xù)計(jì)算的結(jié)果。 5、利用Not()和Iserror()函數(shù)計(jì)算非數(shù)值數(shù)據(jù)的個(gè)數(shù)。在單元格C12鍵入公式“=SUM(--ISERROR(NOT(C2:C11)))”計(jì)算“實(shí)際達(dá)成”這一列中非數(shù)值數(shù)據(jù)的個(gè)數(shù)。 NOT(C2:C11)對(duì)數(shù)組的數(shù)據(jù)逐個(gè)判斷,如果是非0數(shù)值返回False,數(shù)值0返回True,文本格式返回錯(cuò)誤值。 ISERROR()函數(shù)對(duì)NOT()函數(shù)返回的值逐個(gè)判斷,錯(cuò)誤值返回True,其余值返回False,生成一個(gè)邏輯值數(shù)組。 “--”是兩個(gè)減號(hào),負(fù)負(fù)得正,所以不影響結(jié)果,但可以將邏輯值轉(zhuǎn)化為數(shù)值1或者0。 最后Sum()函數(shù)對(duì)數(shù)組的數(shù)據(jù)項(xiàng)執(zhí)行加法運(yùn)算,從而得出非數(shù)值數(shù)據(jù)的個(gè)數(shù)。如果想計(jì)算數(shù)值數(shù)據(jù)的個(gè)數(shù),在ISERROR()函數(shù)前再嵌套一個(gè)NOT()函數(shù)即可。 這里提醒一下,因?yàn)楣接玫搅藬?shù)組,需要Ctrl+Shift和Enter三鍵確認(rèn)。關(guān)于數(shù)組公式,請(qǐng)參閱知道這些Excel數(shù)組概念和運(yùn)算規(guī)則,數(shù)組公式就豁然開朗了。 6、因?yàn)檫壿嬛悼梢赞D(zhuǎn)換為數(shù)值“1”和“0”,同時(shí)因?yàn)椤?”和“0”數(shù)值的特殊性,我們可以利用邏輯值進(jìn)行條件計(jì)數(shù)。單元格M2鍵入公式“=SUM(--(B2:B11>3000))”計(jì)算計(jì)劃數(shù)量>=3000的產(chǎn)品數(shù)量。 (B2:B11>3000)逐一返回?cái)?shù)組中數(shù)據(jù)是否>=3000的邏輯值。 “--”將邏輯值轉(zhuǎn)化為數(shù)值。 Sum()函數(shù)返回合計(jì)數(shù)量。記得Ctrl+Shift和Enter三鍵確認(rèn)。 7、還可以進(jìn)行條件求和,通過公式“=SUM((B2:B11>3000)*(B2:B11))”可以計(jì)算滿足“計(jì)劃>=3000”條件的產(chǎn)品的計(jì)劃合計(jì)數(shù)字。 (B2:B11>3000)是條件判斷,滿足條件為True即數(shù)值1,不滿足條件為False即數(shù)值0,生成一個(gè)邏輯值數(shù)組。 (B2:B11)是計(jì)劃數(shù)量的數(shù)組。 數(shù)組計(jì)算規(guī)則是對(duì)應(yīng)項(xiàng)進(jìn)行計(jì)算,不滿足條件的數(shù)量*0之后為0,滿足條件的數(shù)量*1仍然等于自己,從而得出滿足條件的合計(jì)數(shù)量。與計(jì)數(shù)公式比較沒有“--”,是因?yàn)楣街械摹?”已經(jīng)將邏輯值轉(zhuǎn)化為數(shù)值。 最后,重要的事情說三遍,數(shù)組公式記得三鍵確認(rèn)。 |
|