计算机公式or,AND、OR函数详解_Excel公式教程
【語法1】AND(logical1,[logical2],…)
執(zhí)行邏輯與運算:所有參數(shù)都是TRUE,則返回TRUE;只要有一個參數(shù)是FALSE,即返回FALSE。
【語法2】OR(logical1,[logical2],…)
執(zhí)行邏輯或運算:所有參數(shù)都是FALSE,則返回FALSE;只要有一個參數(shù)是TRUE,即返回TRUE。
兩個函數(shù)都可以包含若干個參數(shù)。受不同版本對函數(shù)個數(shù)的限制,2003版最多允許30個參數(shù),2007版開始允許參數(shù)多達(dá)255個。
各個參數(shù)既可以是單值,也可以是數(shù)組。
對于單值參數(shù),要求是一個邏輯值。根據(jù)數(shù)值類型自動轉(zhuǎn)換的規(guī)律,非0的數(shù)字值、文本值"TRUE"可被視作邏輯值TRUE;數(shù)字值0、文本值"FALSE"可被視作邏輯值FALSE。因此:
=AND(TRUE,"FALSE")?返回FALSE
=OR(FALSE,3)?返回TRUE
而對于數(shù)組參數(shù),只把其中的非0數(shù)字值轉(zhuǎn)換為TRUE,把數(shù)字值0轉(zhuǎn)換為FALSE,而忽略其中的文本值"TRUE"和"FALSE",也忽略空單元格(不會把空單元格轉(zhuǎn)換為FALSE)。
假設(shè)單元格A1是文本值="FALSE",A2是數(shù)字值3,A3是空單元格,A4是文本值="TRUE",則
=AND(A1:A4)?返回TRUE
=OR(A3:A4)?將因為引用范圍內(nèi)沒有可以轉(zhuǎn)換為邏輯值的數(shù)據(jù),所以返回錯誤值#VALUE!
=AND(A3)?也返回#VALUE!
這兩個函數(shù)因為具有處理數(shù)組參數(shù)的能力,所以參數(shù)即使是對一個單元格的引用,該參數(shù)也作為數(shù)組來處理,而不是單值。
另外,只要其中任意一個參數(shù)返回了錯誤值,函數(shù)就返回錯誤值。例如:
=AND(TRUE,#DIV/0!,1)?返回錯誤值#DIV/0!
如果有多個參數(shù)都返回錯誤值,而且是不同的錯誤值,則返回第一次出現(xiàn)的錯誤值,例如:
=AND(TRUE,#NUM!,#DIV/0!)?返回錯誤值#NUM!
【用法】
一、進行基本的邏輯運算。參數(shù)通常是由比較運算、IS類函數(shù)等返回的邏輯值。
例如,以下公式判斷單元格A1的值是不是大于等于80且小于90,是則返回“優(yōu)良”,否則返回空文本:
=IF(AND(A1>=80,A1<90),"優(yōu)良","")
以下公式判斷單元格A1的值是不是小于5,或者大于8:
=IF(OR(A1<5,A1>8),"區(qū)間外","區(qū)間內(nèi)")
注意不要把AND(A1>=80,A1<90)寫成80<=A1<90,也不要把OR(A1<5,A1>8)寫成5>A1>8。為什么呢?請參閱:http://blog.sina.com.cn/s/blog_14e89401f0102wbhh.html
二、參數(shù)可以使用三維引用。對三維引用中的單值的處理方法與數(shù)組參數(shù)相同,即只把其中的非0數(shù)字值轉(zhuǎn)換為TRUE,把數(shù)字值0轉(zhuǎn)換為FALSE,而忽略其中的文本值"TRUE"和"FALSE",也忽略空單元格。
假設(shè)兩個相鄰的工作表Sheet2、Sheet3的B3:C4區(qū)域都是數(shù)字值,下面的公式可檢測區(qū)域內(nèi)有沒有零值:
=AND(Sheet2:Sheet3!B3:C4)
如果區(qū)域內(nèi)沒有零值,公式返回TRUE,如果有零值,公式返回FALSE。
而下面的公式則檢測區(qū)域內(nèi)有沒有非零值:
=OR(Sheet2:Sheet3!B3:C4)
如果區(qū)域內(nèi)有非零值,公式返回TRUE,如果全是零值,公式返回FALSE。
由于區(qū)域內(nèi)的文本值和空單元格會被忽略,這個例子適用于區(qū)域內(nèi)的單元格都是公式,且公式返回值都是數(shù)字值的情況。
三、根據(jù)數(shù)值類型自動轉(zhuǎn)換的規(guī)律,邏輯運算可以寫成算術(shù)運算。
(一)邏輯與運算可以寫成把邏輯值相乘,例如:
AND(logical1,logical2,…)?可以寫成logical1*logical2*…
邏輯值用于乘法運算,TRUE被轉(zhuǎn)為數(shù)字1,FALSE被轉(zhuǎn)為數(shù)字0來計算。因此,只要有一個邏輯值為FALSE,計算結(jié)果即為0,否則計算結(jié)果為1。
上面的公式可以寫成:
=IF((A1>=80)*(A1<90),"優(yōu)良","")
(二)邏輯或運算可以寫成把邏輯值相加,例如:
OR(logical1,logical2,…)?可以寫成logical1+logical2+…
邏輯值用于加法運算,TRUE被轉(zhuǎn)為數(shù)字1,FALSE被轉(zhuǎn)為數(shù)字0來計算。因此,只有全部邏輯值都是FALSE,計算結(jié)果才為0,否則計算結(jié)果為一個正整數(shù)。
如果想結(jié)果是1或0,可以寫成SIGN(logical1+logical2+…)。
上面的公式可以寫成:
=IF((A1<5)+(A1>8),"區(qū)間外","區(qū)間內(nèi)")
(三)邏輯值進行AND、OR邏輯運算,與進行乘法、加法算術(shù)運算的區(qū)別在于:當(dāng)logical是區(qū)域引用或數(shù)組的時候,由于AND、OR函數(shù)具有處理數(shù)組參數(shù)的能力,所以AND、OR函數(shù)不會進行數(shù)組運算,計算結(jié)果只會是一個單值;而算術(shù)運算可以進行數(shù)組運算,所以計算結(jié)果可以是一個數(shù)組。
假設(shè)單元格A1是一個家電產(chǎn)品的名稱、品牌、型號(比如輸入“海爾電視機”)。
在單元格C1輸入以下數(shù)組公式,可判斷A1是不是“海爾”“美的”“松下”以外的品牌:
{=AND(ISERR(FIND({"海爾","美的","松下"},A1)))}
在單元格C1輸入以下數(shù)組公式,判斷A1是不是“海爾”“美的”“松下”其中的一個品牌:
{=OR(ISNUMBER(FIND({"海爾","美的","松下"},A1)))}
【參考】
總結(jié)
以上是生活随笔為你收集整理的计算机公式or,AND、OR函数详解_Excel公式教程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iPhone 小技巧:了解应用隐私标签、
- 下一篇: 移动办公计算机,最适合移动办公的三款掌上