Excel函數應用之邏輯函數

 編者語:Excel是辦公室自動化中非常重要的一款軟件,很多巨型國際企業都是依靠Excel進行數據管理。它不僅僅能夠方便的處理表格和進行圖形分析,其更強大的功能體現在對數據的自動處理和計算,然而很多缺少理工科背景或是對Excel強大數據處理功能不瞭解的人卻難以進一步深入。編者以爲,對Excel函數應用的不瞭解正是阻擋普通用戶完全掌握Excel的攔路虎,然而目前這一部份內容的教學文章卻又很少見,所以特別組織了這一個《Excel函數應用》系列,希望能夠對Excel進階者有所幫助。《Excel函數應用》系列,將每週更新,逐步系統的介紹Excel各類函數及其應用,敬請關注!

用來判斷真假值,或者進行復合檢驗的Excel函數,我們稱爲邏輯函數。在Excel中提供了六種邏輯函數。即AND、OR、NOT、FALSE、IF、TRUE函數。

一、AND、OR、NOT函數

這三個函數都用來返回參數邏輯值。詳細介紹見下:

(一)AND函數

所有參數的邏輯值爲真時返回 TRUE;只要一個參數的邏輯值爲假即返回 FALSE。簡言之,就是當AND的參數全部滿足某一條件時,返回結果爲TRUE,否則爲FALSE。

語法爲AND(logical1,logical2, ...),其中Logical1, logical2, ... 表示待檢測的 1 到 30 個條件值,各條件值可能爲TRUE,可能爲 FALSE。 參數必須是邏輯值,或者包含邏輯值的數組或引用。舉例說明:

1、 在B2單元格中輸入數字50,在C2中寫公式=AND(B2>30,B2<60)。由於B2等於50的確大於30、小於60。所以兩個條件值(logical)均爲真,則返回結果爲TRUE。

 
圖1 AND函數示例1

2、 如果 B1-B3 單元格中的值爲 TRUE、FALSE、TRUE,顯然三個參數並不都爲真,所以 在B4單元格中的公式=AND(B1:B3) 等於 FALSE

 
圖2 AND函數示例2

(二)OR函數

OR函數指在其參數組中,任何一個參數邏輯值爲 TRUE,即返回 TRUE。它與AND函數的區別在於,AND函數要求所有函數邏輯值均爲真,結果方爲真。而OR函數僅需其中任何一個爲真即可爲真。比如,上面的示例2,如果在B4單元格中的公式寫爲=OR(B1:B3)則結果等於TRUE

 
圖3 OR函數示例

(三)NOT函數

NOT函數用於對參數值求反。當要確保一個值不等於某一特定值時,可以使用 NOT 函數。簡言之,就是當參數值爲TRUE時,NOT函數返回的結果恰與之相反,結果爲FALSE.
比如NOT(2+2=4),由於2+2的結果的確爲4,該參數結果爲TRUE,由於是NOT函數,因此返回函數結果與之相反,爲FALSE。

二、TRUE、FALSE函數

TRUE、FALSE函數用來返回參數的邏輯值,由於可以直接在單元格或公式中鍵入值TRUE或者FALSE。因此這兩個函數通常可以不使用。

三、IF函數

(一)IF函數說明

IF函數用於執行真假值判斷後,根據邏輯測試的真假值返回不同的結果,因此If函數也稱之爲條件函數。它的應用很廣泛,可以使用函數 IF 對數值和公式進行條件檢測。

它的語法爲IF(logical_test,value_if_true,value_if_false)。其中Logical_test表示計算結果爲 TRUE 或 FALSE 的任意值或表達式。本參數可使用任何比較運算符。

Value_if_true顯示在logical_test 爲 TRUE 時返回的值,Value_if_true 也可以是其他公式。Value_if_false logical_test 爲 FALSE 時返回的值。Value_if_false 也可以是其他公式。

簡言之,如果第一個參數logical_test返回的結果爲真的話,則執行第二個參數Value_if_true的結果,否則執行第三個參數Value_if_false的結果。IF函數可以嵌套七層,用 value_if_false 及 value_if_true 參數可以構造複雜的檢測條件。

Excel 還提供了可根據某一條件來分析數據的其他函數。例如,如果要計算單元格區域中某個文本串或數字出現的次數,則可使用 COUNTIF 工作表函數。如果要根據單元格區域中的某一文本串或數字求和,則可使用 SUMIF 工作表函數。

(二)IF函數應用

1、 輸出帶有公式的空白表單

 
圖5 人事分析表1

以圖中所示的人事狀況分析表爲例,由於各部門關於人員的組成情況的數據尚未填寫,在總計欄(以單元格G5爲例)公式爲:

=SUM(C5:F5)

我們看到計算爲0的結果。如果這樣的表格打印出來就頁面的美觀來看顯示是不令人滿意的。是否有辦法去掉總計欄中的0呢?你可能會說,不寫公式不就行了。當然這是一個辦法,但是,如果我們利用了IF函數的話,也可以在寫公式的情況下,同樣不顯示這些0。如何實現呢?只需將總計欄中的公式(僅以單元格G5爲例)改寫成:

=IF(SUM(C5:F5),SUM(C5:F5),"")

通俗的解釋就是:如果SUM(C5:F5)不等於零,則在單元格中顯示SUM(C5:F5)的結果,否則顯示字符串。

幾點說明:

(1) SUM(C5:F5)不等於零的正規寫法是SUM(C5:F5)<>0,在EXCEL中可以省略<>0;

(2) ""表示字符串的內容爲空,因此執行的結果是在單元格中不顯示任何字符。

 
圖4

2、 不同的條件返回不同的結果

如果對上述例子有了很好的理解後,我們就很容易將IF函數應用到更廣泛的領域。比如,在成績表中根據不同的成績區分合格與不合格。現在我們就以某班級的英語成績爲例具體說明用法。

 
圖6


某班級的成績如圖6所示,爲了做出最終的綜合評定,我們設定按照平均分判斷該學生成績是否合格的規則。如果各科平均分超過60分則認爲是合格的,否則記作不合格。

根據這一規則,我們在綜合評定中寫公式(以單元格B12爲例):

=IF(B11>60,"合格","不合格")

語法解釋爲,如果單元格B11的值大於60,則執行第二個參數即在單元格B12中顯示合格字樣,否則執行第三個參數即在單元格B12中顯示不合格字樣。

在綜合評定欄中可以看到由於C列的同學各科平均分爲54分,綜合評定爲不合格。其餘均爲合格。

3、 多層嵌套函數的應用

在上述的例子中,我們只是將成績簡單區分爲合格與不合格,在實際應用中,成績通常是有多個等級的,比如優、良、中、及格、不及格等。有辦法一次性區分嗎?可以使用多層嵌套的辦法來實現。仍以上例爲例,我們設定綜合評定的規則爲當各科平均分超過90時,評定爲優秀。如圖7所示。

 
圖7

說明:爲了解釋起來比較方便,我們在這裏僅做兩重嵌套的示例,您可以按照實際情況進行更多重的嵌套,但請注意Excel的IF函數最多允許七重嵌套。

根據這一規則,我們在綜合評定中寫公式(以單元格F12爲例):

=IF(F11>60,IF(AND(F11>90),"優秀","合格"),"不合格")

語法解釋爲,如果單元格F11的值大於60,則執行第二個參數,在這裏爲嵌套函數,繼續判斷單元格F11的值是否大於90(爲了讓大家體會一下AND函數的應用,寫成AND(F11>90),實際上可以僅寫F11>90),如果滿足在單元格F12中顯示優秀字樣,不滿足顯示合格字樣,如果F11的值以上條件都不滿足,則執行第三個參數即在單元格F12中顯示不合格字樣。

在綜合評定欄中可以看到由於F列的同學各科平均分爲92分,綜合評定爲優秀。

(三)根據條件計算值

在瞭解了IF函數的使用方法後,我們再來看看與之類似的Excel提供的可根據某一條件來分析數據的其他函數。例如,如果要計算單元格區域中某個文本串或數字出現的次數,則可使用 COUNTIF 工作表函數。如果要根據單元格區域中的某一文本串或數字求和,則可使用 SUMIF 工作表函數。關於SUMIF函數在數學與三角函數中以做了較爲詳細的介紹。這裏重點介紹COUNTIF的應用。

COUNTIF可以用來計算給定區域內滿足特定條件的單元格的數目。比如在成績表中計算每位學生取得優秀成績的課程數。在工資表中求出所有基本工資在2000元以上的員工數。

語法形式爲COUNTIF(range,criteria)。其中Range爲需要計算其中滿足條件的單元格數目的單元格區域。Criteria確定哪些單元格將被計算在內的條件,其形式可以爲數字、表達式或文本。例如,條件可以表示爲 32、"32"、">32"、"apples"。

1、成績表

這裏仍以上述成績表的例子說明一些應用方法。我們需要計算的是:每位學生取得優秀成績的課程數。規則爲成績大於90分記做優秀。如圖8所示

 
圖8

根據這一規則,我們在優秀門數中寫公式(以單元格B13爲例):

=COUNTIF(B4:B10,">90")

語法解釋爲,計算B4到B10這個範圍,即jarry的各科成績中有多少個數值大於90的單元格。

在優秀門數欄中可以看到jarry的優秀門數爲兩門。其他人也可以依次看到。

2、 銷售業績表

銷售業績表可能是綜合運用IF、SUMIF、COUNTIF非常典型的示例。比如,可能希望計算銷售人員的訂單數,然後彙總每個銷售人員的銷售額,並且根據總髮貨量決定每次銷售應獲得的獎金。

原始數據表如圖9所示(原始數據是以流水單形式列出的,即按訂單號排列)

 
圖9 原始數據表

按銷售人員彙總表如圖10所示

 
圖10 銷售人員彙總表

如圖10所示的表完全是利用函數計算的方法自動彙總的數據。首先建立一個按照銷售人員彙總的表單樣式,如圖所示。然後分別計算訂單數、訂單總額、銷售獎金。

(1) 訂單數 --用COUNTIF計算銷售人員的訂單數。

以銷售人員ANNIE的訂單數公式爲例。公式:

=COUNTIF($C$2:$C$13,A17)

語法解釋爲計算單元格A17(即銷售人員ANNIE)在"銷售人員"清單$C$2:$C$13的範圍內(即圖9所示的原始數據表)出現的次數。

這個出現的次數即可認爲是該銷售人員ANNIE的訂單數。

(2) 訂單總額--用SUMIF彙總每個銷售人員的銷售額。

以銷售人員ANNIE的訂單總額公式爲例。公式:

=SUMIF($C$2:$C$13,A17,$B$2:$B$13)

此公式在"銷售人員"清單$C$2:$C$13中檢查單元格A17 中的文本(即銷售人員ANNIE),然後計算"訂單金額"列($B$2:$B$13)中相應量的和。

這個相應量的和就是銷售人員ANNIE的訂單總額。

(3) 銷售獎金--用IF根據訂單總額決定每次銷售應獲得的獎金。

假定公司的銷售獎金規則爲當訂單總額超過5萬元時,獎勵幅度爲百分之十五,否則爲百分之十。根據這一規則仍以銷售人員ANNIE爲例說明。公式爲:

=IF(C17<50000,10%,15%)*C17

如果訂單總額小於 50000則獎金爲 10%;如果訂單總額大於等於 50000,則獎金爲 15%。

至此,我們已完全瞭解了EXCEL函數的邏輯函數,相信大家在實際工作中會想出更多更有用的運用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章