2013年10月22日 星期二

AND與OR函數

ANDOR函數通常都是與其他函數搭配使用,因為ANDOR函數屬於判斷類型的函數,所以他們最常跟IF函數黏在一起。

那不免俗地來一下Office.com的官方介紹:

AND 函數的一個常見用法是擴展執行邏輯測試之其他函數的用處,例如 IF 函數執行邏輯測試,然後,如果測試評做為 TRUE,會傳回一個值;如果測試評做為 FALSE,會傳回另一個值。透過使用 AND 函數做為 IF 函數的 logical_test 引數,您可以測試許多不同的條件,而不只是一個。

如果所有引數都評估為 TRUE,會傳回 TRUE;如果有一個或多個引數評估為 FALSE,則傳回 FALSE


語法
AND(logical1, [logical2], ...)

引數
logical1    是必要的引數,您要測試的第一個條件,可評估為 TRUE FALSE
logical2, ... 是選擇性引數,您要測試的其他條件,可評估為 TRUE FALSE,最多為 255 個條件。

如果有任何一個引數的邏輯值為 TRUE,即傳回 TRUE;唯有所有引數的邏輯值均為 FALSE 時,才會傳回 FALSE

其實好像也沒什麼可以介紹了,基本上它就是一個告訴Excel說:我要這個這個這個..….etc的函數,所以現在好像應該來個例子了!

就以這個傢伙為例好了,假如今天男生們點的A餐老闆招待特價9折,我們該如何下條件來計算折扣後的價格呢?

點餐者
性別
餐點
價格
折扣後價格
戴專專
A
60

鄭科科
B
50

黃小梅
C
40

何智智
D
70

陳小如
A
60

黃小翔
C
40

愛雲雲
D
70

黃小祺
B
50

吳蘭蘭
D
70

黃小翔
A
60


別再跟我說找出男生自己算就好了,拜託別這樣!雖然我題目出的有點爛

Ans. 我們只要在折扣後價格那一欄填入=IF(AND(B2="",C2="A"),D2*0.9,D2),並向下複製就完成了!


IF(AND(B2="",C2="A"),D2*0.9,D2)的意思是:假如B2(性別)欄位為文字:男,又C2(餐點)欄位為文字:A餐,是的話顯示D2(價格)欄位*0.9,否的話則直接顯示D2(價格)欄位。


如果有任何一個引數的邏輯值為 TRUE,即傳回 TRUE;唯有所有引數的邏輯值均為 FALSE 時,才會傳回 FALSE

語法
OR(logical1, [logical2], ...)
OR 函數語法具有下列引數:

Logical1, logical2, ...    Logical1 是必要的,後續的邏輯值則是選用的。 這是要測試其為 TRUE FALSE 的第 1 個到第 255 個條件。

這個函數跟AND函數很像,不過它指的東西剛好反過來,它是告訴Excel說:我要這個這個這個..….etc的函數,現在再來個例子吧!

是的,現在又要打折了!假如今天點的A餐及B餐的人,老闆招待特價9折,又該如何下條件來計算折扣後的價格呢?

點餐者
餐點
價格
折扣後價格
戴專專
A
60

鄭科科
B
50

黃小梅
C
40

何智智
D
70

陳小如
A
60

黃小翔
C
40

愛雲雲
D
70

黃小祺
B
50

吳蘭蘭
D
70

黃小翔
A
60


廢話就免了。

Ans. 我們只要在折扣後價格那一欄填入=IF(OR(B2="A",B2="B"),C2*0.9,C2),並向下複製就完成了!

 


IF(OR(B2="A",B2="B"),C2*0.9,C2)的意思是:假如B2(餐點)欄位為文字:A餐,或B2(餐點)欄位為文字:B餐,是的話顯示C2(價格)欄位*0.9,否的話則直接顯示C2(價格)欄位。


好了,請各位與這兩個可愛的異卵雙胞胎好好相處吧!

沒有留言:

張貼留言

[Excel] 日期(數值)轉文字

Excel的日期格式真的常常使人抓狂, 在使用者輸入日期後該欄位真正的值會被Excel轉換成一串數字, 這串數字代表著自1900/1/1到該日期的總天數。 但程式或使用者真正要的,就不是這串數字, 他們就是要日期!要日期!! So, 為了取得真正的值只好使用TEXT函數來解決了 ...