官术网_书友最值得收藏!

第9章 邏輯與信息函數

本章內容

·在Excel的數據計算中,函數的應用非常廣泛,也非常有用。對于邏輯和信息函數而言,常常會作為參數被嵌套在其他的函數中使用。因此,本章將首先介紹一些常用的邏輯函數和信息函數的應用,為后期學習其他函數的應用打下基礎。

要點導讀

邏輯函數應用:邏輯函數主要用于測試指定數據是否滿足某個條件,并返回判斷結果的邏輯值,它包含TRUE()、FALSE()、IF()、AND()、OR()、NOT()和IFERROR() 7個函數。

信息函數應用:信息函數主要用于返回指定的單元格或單元格區域的基本信息,如單元格中數據的所屬類型、單元格是否為空等。在Excel中,可以把信息函數分為兩大類,一類是返回常規信息的信息函數,另一類是返回邏輯值的IS類信息函數。

9.1 邏輯函數應用

邏輯函數主要用于測試指定數據是否滿足某個條件,并返回判斷結果的邏輯值,它包含TRUE()、FALSE()、IF()、AND()、OR()、NOT()和IFERROR() 7個函數。其中IF()函數是應用最廣泛的函數之一,讀者可以對其進行重點學習。

9.1.1 判斷邏輯真假值

在邏輯函數中,TRUE()函數和FALSE()函數是最簡單的兩個函數,下面分別介紹這兩個函數的具體作用和用法。

1.TRUE()函數

TRUE()函數可以直接返回邏輯真值TRUE,該函數沒有任何的參數,但是作為函數,其標志性的一對括號不能省略,否則就不能稱為函數。

在Excel中,在單元格中直接輸入“TRUE”和輸入“=TRUE()”,以及在公式的條件成立時,系統都會返回TRUE值。

當在“公式”選項卡的“公式審核”組中單擊“顯示公式”按鈕始終顯示單元格中的公式時,系統在分析的過程中,會自動將“TRUE”作為文本處理而沒有作任何的改變,將以公式方式返回TRUE值的公式“=TRUE()”和條件判斷公式始終顯示出來,如圖9-1所示。

圖9-1 不同方式返回TRUE值的效果

提示:函數TRUE()和文本TRUE在作為參數時的區別

雖然直接使用TRUE()函數和直接輸入文本TRUE的效果一樣,但是在作為其他函數的參數使用時,二者之間存在明顯的區別,其具體的使用區別如圖9-2所示。

圖9-2 函數TRUE()和文本TRUE在作為參數時的區別

2.FALSE()函數

FALSE()函數可以直接返回邏輯假值FALSE,與TRUE()函數相似,該函數同樣沒有任何的參數。在Excel中,在單元格中直接輸入“FALSE”和輸入“=FALSE()”,以及在公式的條件不成立時,系統都會返回FALSE值,但是在系統分析時會自動將“FALSE”作為文本處理,如圖9-3所示。

圖9-3 不同方式返回FALSE值的效果

注意:函數FALSE ()和文本FALSE在作為參數時的區別

與TRUE()函數相似,對于FALSE()函數在作為其他函數的參數使用時,為其添加引號作為文本使用時,系統會同步返回函數的括號,而直接使用時,則返回FALSE;對于文本FALSE,作為參數時,無論是否添加引號,最終都返回FALSE,如圖9-4所示。

圖9-4 函數FALSE ()和文本FALSE在作為參數時的區別

9.1.2 使用IF()函數對結果進行條件判斷

IF()函數是一個常用邏輯函數,它可以按指定的條件進行真假值的判斷,并根據邏輯計算的真假值返回指定的結果。

1.IF()函數

IF()函數的語法結構如下。

IF(logical_test,value_if_true,value_if_false)

從語法結構中可以看出,IF()函數包含3個參數,各參數的具體含義分別如下。

◆logical_test:表示用于指定需要進行判斷的條件。

◆value_if_true:用于指定當設置的logical_test條件成立返回TRUE值時要返回的值。

◆value_if_false:用于指定當設置的logical_test條件成立返回FALSE值時要返回的值。

例如,假設當商品的庫存量少于350時,就需要進貨,否則不需要進貨。選擇需要判斷結果的單元格,在其中輸入“=IF(D3>=350,"不進貨","進貨")”,如圖9-5所示,按【Ctrl+Enter】組合鍵判斷當前商品是否需要進貨,然后利用復制公式的方法判斷其他商品是否需要進貨,其最終判斷結果如圖9-6所示。

圖9-5 判斷當前商品是否需要進貨

圖9-6 判斷其他商品是否需要進貨

▲示例中公式的說明

在上述示例的公式“=IF(D3>=350,"不進貨","進貨")”中,D3單元格是商品庫存量的存儲位置,“D3>=350”是為商品庫存量不進貨時設定條件。

“不進貨”是當“D3>=350”條件成立時的返回值(當前商品庫存量沒有低于設定的最低庫存量350),“進貨”是當“D3>=350”條件不成立時的返回值(當前商品庫存量低于設定的最低庫存量350)。

2.IF()函數的嵌套

雖然IF()函數只有3個參數,但可以進行嵌套,從而實現多種情況的判斷與選擇。例如,假設員工的考核項目有6項,根據不同的考核總分將其劃分為優秀、良好、中等、合格及不合格5個等級,其具體的分數段設置如表9-1所示。

表9-1 不同考核總分分數段對應的等級評定

選擇需要判斷結果的單元格,在其中輸入“=IF(I3>=540,"優秀",IF(I3>=480,"良好",IF(I3>=420,"中等",IF(I3>=360,"合格","不合格"))))”,如圖9-7所示。按【Ctrl+Enter】組合鍵判斷當前試用員工的等級評定,然后利用復制公式的方法判斷其他試用員工的等級評定,其最終的判斷結果如圖9-8所示。

圖9-7 判斷當前試用員工的等級評定

圖9-8 判斷其他試用員工的等級評定

▲示例中公式的說明

在上述示例的公式“=IF(I3>=540,"優秀",IF(I3>=480,"良好",IF(I3>=420,"中等",IF(I3>=360,"合格","不合格"))))”中,I3單元格是試用員工考核總分的存儲位置,“I3>=540”、“I3>=480”、“I3>=420”、“I3>=360”是為不同等級設定的分數段的臨界值,對于該公式的運行過程的示意圖如圖9-9所示。

圖9-9 示例中嵌套函數的運行過程示意圖

9.1.3 計算邏輯并集與交集

并集是將多個數據涉及的范圍全部并列,交集是多個數據范圍的共有部分,其示意圖如圖9-10所示。在Excel中,對數據進行計算,尤其是對多個條件進行綜合判斷時,就會涉及并集和交集。下面分別介紹Excel中有關并集和交集運算的函數。

圖9-10 交集和并集

1.AND()函數

AND()函數主要用于對數據進行交集運算,也稱邏輯與運算。當指定的所有條件都成立時,該函數返回邏輯真值TRUE;只要有一個條件不成立,則函數返回邏輯假值FALSE。

假設數據A和數據B,其進行邏輯交集運算后,結果如表9-2所示。

表9-2 不同情況AND()函數的返回值情況

AND()函數的語法結構如下。

AND(logical1[,logical2][…])

對于AND()函數而言,需要注意以下幾點問題。

◆logical1參數可以是邏輯值,也可以是邏輯表達式,其返回值可以是TRUE,也可以是FALSE。

◆該函數至少包含一個參數,因此logical1參數為必備參數,其他參數為可選參數。

◆該函數的參數個數取值范圍為1~255。

◆使用AND()函數時,如果數組或引用的參數中包含文本或空單元格,這些值將被忽略。

◆如果指定的單元格區域內包括非邏輯值,則將返回錯誤值“#VALUE!”。

AND()函數通常不單獨使用,而是作為參數嵌套在其他函數中使用。例如,假設員工的考核項目有6項,只有當所有項分數都在90以上,才被錄用,否則不被錄用。

選擇需要判斷結果的單元格,在其中輸入“=IF(AND(C3>=90,D3>=90,E3>=90,F3>=90,G3>=90,H3>=90),"錄用","不錄用")”,如圖9-11所示。按【Ctrl+Enter】組合鍵判斷當前試用員工是否被錄用,然后利用復制公式的方法判斷其他試用員工是否被錄用,其最終的判斷結果如圖9-12所示。

圖9-11 判斷當前試用員工是否被錄用

圖9-12 判斷其他試用員工是否被錄用

▲示例中公式的說明

在上述示例的公式“=IF(AND(C3>=90,D3>=90,E3>=90,F3>=90,G3>=90,H3>=90),"錄用","不錄用")”中,C3、D3、E3、F3、G3、H3是試用員工各項考核成績的存儲位置。

AND()函數是對各項考核成績進行判斷,“錄用”是當AND()函數返回TRUE時IF()函數的返回值(考核成績都在90分以上),“不錄用”是當AND()函數返回FALSE時IF()函數的返回值(考核成績至少有一項在90分以下)。

2.OR()函數

OR()函數主要用于對數據進行并集運算,也稱邏輯或運算。當指定的所有條件中只要有一個條件成立,該函數返回邏輯真值TRUE;當所有條件都不成立時,則函數返回邏輯假值FALSE。假設數據A和數據B,其進行邏輯并集運算后,結果如表9-3所示。

表9-3 不同情況OR()函數的返回值情況

續表

OR()函數的語法結構如下。

OR(logical1[,logical2][…])

對于OR()函數而言,需要注意以下幾點問題。

◆logical參數可以是邏輯值,也可以是邏輯表達式,其返回值可以是TRUE,也可以是FALSE。

◆該函數至少包含一個參數,因此logical1參數為必備參數,其他參數為可選參數。

◆該函數的參數的個數的取值范圍為1~255。

◆使用OR()函數時,如果數組或引用的參數中包含文本或空單元格,這些值將被忽略。

◆如果指定的單元格區域內包括非邏輯值,則將返回錯誤值“#VALUE!”。

與AND()函數相似,OR()函數通常也不會單獨使用,而是作為參數嵌套在其他函數中使用。例如,假設員工的考核項目有6項,當總分在520以上,或者企業文化、電腦操作和管理能力3項總分在270以上,則繼續留下考察,否則辭退。

選擇需要判斷結果的單元格,在其中輸入“=IF(OR(I3>=520,C3+E3+G3>=270),"繼續考察","辭退")”,如圖9-13所示,按【Ctrl+Enter】組合鍵判斷當前試用員工是否可以留下繼續考察,然后利用復制公式的方法判斷其他試用員工是否可以留下繼續考察,其最終的判斷結果如圖9-14所示。

圖9-13 判斷當前試用員工是否留下繼續考察

圖9-14 判斷其他試用員工是否留下繼續考察

▲示例中公式的說明

在上述示例的公式“=IF(OR(I3>=520,C3+E3+G3>=270),"繼續考察","辭退")”中,I3單元格是試用員工各項考核總成績的存儲位置,C3、E3、G3單元格分別是試用員工企業文化、電腦操作和管理能力3項考核成績的存儲位置。

OR()函數是對繼續考察試用員工設置的條件,“繼續考察”是當OR()函數返回TRUE時IF()函數的返回值(考核成績總分在520以上,或者指定的3項考核成績總分在270以上),“辭退”是當OR()函數返回FALSE時IF()函數的返回值(考核成績總分在520以下,且指定的3項考核成績低于270分)。

拓展學習 Excel 2003中AND()函數和OR()函數的參數個數

在Excel 2003中,AND()函數和OR()函數的功能和語法結構與Excel 2007以及Excel 2010中的AND()函數和OR()函數的功能和語法結構完全一樣,只是參數個數的取值范圍有差別。

在Excel 2003中,AND()函數和OR()函數的參數個數的取值范圍為1~30,當參數個數超過規定的取值范圍后,系統將自動打開一個信息提示對話框提示錯誤。

假設,當A1單元格中的數據為a1~a30范圍內的任意數據時,返回TRUE,否則返回FALSE。

選擇結果單元格,輸入“=OR(A1="a1",A1="a2",A1="a3",A1="a4",A1="a5",A1="a6",A1="a7",A1="a8",A1="a9",A1="a10",A1="a11",A1="a12",A1="a13",A1="a14",A1="a15",A1="a16",A1="a17",A1="a18",A1="a19",A1="a20",A1="a21",A1="a22",A1="a23",A1="a24",A1="a25",A1="a26",A1="a27",A1="a28",A1="a29",A1="a30")”,如圖9-15所示。

此時系統自動彈出OR()函數參數的提示信息為30個,如圖9-15所示;如果再繼續輸入參數“A1="a31"”,按【Ctrl+Enter】組合鍵后,系統將打開如圖9-16所示的提示對話框,提示設置的參數個數太多。

圖9-15 在參數個數范圍內使用OR()函數

圖9-16 在參數個數范圍外使用OR()函數

9.1.4 使用NOT()函數對數據進行求反操作

NOT()函數用于對參數值進行求反計算,當指定的數據為真,則取反后為假;當指定的數據為假,則取反后為真。假設數據A,對其進行取反操作后,結果如表9-4所示。

表9-4 不同情況NOT()函數的返回值情況

NOT()函數的語法結構如下。

NOT(logical)

從語法結構中可以看出,NOT()函數只包含一個參數logical,該參數主要用于指定需要求反的邏輯值或者邏輯表達式。

在Excel中,如果要判斷一個數據是否和另一個數據相等,則可以使用NOT()函數來實現。

例如,假設員工的考勤扣除為“0”,則標識“全勤”,否則標識“缺勤”。

選擇需要判斷結果的單元格,在其中輸入“=IF(NOT(G4=0),"缺勤","全勤")”,如圖9-17所示,按【Ctrl+Enter】組合鍵判斷當前員工的出勤情況,然后利用復制公式的方法判斷其他員工的出勤情況,其最終的判斷結果如圖9-18所示。

圖9-17 判斷當前員工的出勤情況

圖9-18 判斷其他員工的出勤情況

▲示例中公式的說明

在上述示例的公式“=IF(NOT(G4=0),"缺勤","全勤")”中,G4單元格是員工出勤扣款數據的存儲位置,NOT()函數是全勤員工評定設置的條件。

“缺勤”是當NOT()函數返回TRUE時IF()函數的返回值(出勤扣款不為0,G4=0返回FALSE),“全勤”是當NOT()函數返回FALSE時IF()函數的返回值(出勤扣款為0,G4=0返回TRUE)。

9.1.5 使用IFERROR()函數處理公式中的錯誤

在利用公式計算數據的過程中,如果計算過程出現錯誤,可以使用IFERROR()函數來處理錯誤數據。若公式中存在計算錯誤,如#N/A、#VALUE!、#REF!、#DIV/0!、#NUM!、#NAME?或#NULL!,則返回指定的數據,若公式不存在計算錯誤,則返回公式的計算結果。

IFERROR()函數的語法結構如下。

IFERROR(value,value_if_error)

從語法結構中可以看出,IFERROR()函數包含兩個參數,各參數的具體含義分別如下。

◆value:用于指定需要檢測的值或公式。

◆value_if_error:用于指定當檢測的指定值或公式計算出錯誤時要返回的值。

IFERROR()函數是Excel 2010中新增的邏輯公式,利用該公式可以避免顯示錯誤值。

例如,要求新產品上市第一月的鋪貨率,如果鋪貨地點設置有目標鋪貨數,則計算鋪貨率;如果沒有設置目標鋪貨數,則標識“還未定目標鋪貨”。

選擇需要計算結果的所有單元格區域,在編輯欄中輸入公式“=IFERROR(D9/C9,"還未定目標鋪貨")”,如圖9-19所示,按【Ctrl+Enter】組合鍵判斷當前地點是否設置了目標鋪貨數,并根據實現鋪貨數計算當前地點的鋪貨率,其最終的計算結果如圖9-20所示。

圖9-19 判斷當前地點的鋪貨率

圖9-20 判斷其他地點的鋪貨率

▲示例中公式的說明

在上述示例的公式“=IFERROR(D9/C9,"還未定目標鋪貨")”中,D9單元格是該地區產品上市第一月實現的鋪貨數,C9單元格是某鋪貨地點的目標鋪貨數據的存儲位置(如果沒有目標鋪貨數,就沒有實現鋪貨數)。

IFREEOE()函數用于捕獲數據計算中可能出現的錯誤情況,“D9/C9”用于計算鋪貨地點的鋪貨率,“還未定目標鋪貨”是公式出現錯誤時IFERROR()函數的返回值(目標鋪貨為0,計算鋪貨率的計算公式“D9/C9”產生“#DIV/0!”錯誤)。

9.2 信息函數應用

信息函數主要用于返回指定的單元格或單元格區域的基本信息,如單元格中數據的所屬類型、單元格是否為空等。

在Excel中,可以把信息函數分為兩大類:一類是返回常規信息的信息函數,另一類是返回邏輯值的IS類信息函數,如圖9-21所示,本節主要對其中的部分常用信息函數進行介紹。

圖9-21 Excel中的信息函數分類

9.2.1 使用CELL()函數返回單元格的信息

CELL()函數用于返回指定單元格或者指定單元格區域的單元格的格式、位置或內容等信息。對于指定的位置為單元格區域時,系統自動返回單元格區域中的第一個單元格的相關信息。

CELL()函數的語法結構如下。

CELL(info_type,reference)

從語法結構中可以看出,CELL()函數包含兩個參數,各參數的具體含義分別如下。

◆info_type:該參數的數據類型為文本類型,用于指定需要返回的單元格的信息。

◆reference:該參數用于指定需要獲取有關單元格信息的單元格(對于單元格區域而言,CELL()函數將返回該單元格區域左上角的單元格信息),該參數是一個可選參數,如果忽略該參數,則CELL()函數自動返回最后更改的單元格所指定的信息。

在Excel中,系統對CELL()函數的info_type參數預定義了很多值,這些值都唯一指定單元格的返回信息,該參數具體的值和CELL()函數對應返回的值如表9-5所示。

表9-5 info_type參數的不同值對應CELL()函數的返回值

續表

在Excel中,當在結果單元格輸入“=CELL(”后,系統自動會彈出info_type參數值的下拉列表,在其中選擇需要的參數值即可。

例如,要判斷合計數據是數值數據還是文本數據,直接選擇單元格區域,在編輯欄中輸入“=if(cell(”后,將彈出參數下拉列表,如圖9-22所示,選擇需要的參數后雙擊參數,在編輯欄中完善公式后,按【Ctrl+Enter】組合鍵完成數據計算,結果如圖9-23所示。

圖9-22 設置函數參數

圖9-23 計算數據結果

拓展學習 info_type參數的format值

在Excel中,如果要返回某個單元格的當前使用的格式,則將CELL()函數的info_type參數設置為“format”,該值返回的是文本數據,不同的單元格格式對應format不同的值,其具體的對應關系如表9-6所示。

表9-6 format值與單元格格式的對應關系

9.2.2 使用TYPE()函數返回單元格的信息

TYPE()函數主要用于返回指定數據或引用的數據類型的數字數據,不同的數據類型,其返回的數字數據的值不同,具體的對應關系如表9-7所示。

表9-7 數據類型與TYPE()函數返回值的對應關系

續表

TYPE()函數的語法結構如下。

TYPE(value)

其中,value參數用于指定需要檢測的數據或單元格引用。這里的數據可以是數字、文本或邏輯值等。圖9-24所示為TYPE()函數的應用實例。

圖9-24 TYPE()函數的應用示例

提示:TYPE()函數引用參數為包含函數

使用TYPE()函數可以快速查找函數或公式返回值的數據類型,若某個值是一個單元格引用,它所引用的另一個單元格中含有公式,則TYPE()函數將返回該公式計算結果的數據類型。

9.2.3 使用ISBLANK()函數判斷單元格為空

ISBLANK()函數主要用于判斷指定單元格是否為空,當指定的單元格為空時,則ISBLANK()函數返回TRUE值;反之,當指定的單元格不為空時,則ISBLANK()函數返回FALSE值。其語法結構如下。

ISBLANK(value)

ISBLANK()函數只包含一個value參數,該參數用于指定需要檢驗的單元格引用,ISBLANK()函數通常不單獨使用,常常作為其他函數的參數嵌套使用。

例如,判斷學生是否有缺考情況,如果有缺考,則標識缺考項;如果沒有缺考,則標識“不缺考”。選擇需要判斷結果的單元格,在其中輸入“=IF(OR(ISBLANK(B3),ISBLANK(C3)),IF(AND(ISBLANK(B3),ISBLANK(C3)),"筆試和機試缺考",IF(ISBLANK(B3),"筆試缺考","機試缺考")),"不缺考")”,如圖9-25所示。

按【Ctrl+Enter】組合鍵判斷當前學生的缺考情況,然后利用復制公式的方法判斷其他學生的缺考情況,其最終的判斷結果如圖9-26所示。

圖9-25 判斷當前學生的缺考情況

圖9-26 判斷其他學生的缺考情況

▲示例中公式的說明

在上述示例的公式“=IF(OR(ISBLANK(B3),ISBLANK(C3)),IF(AND(ISBLANK(B3),ISBLANK(C3)),"筆試和機試缺考",IF(ISBLANK(B3),"筆試缺考","機試缺考")),"不缺考")”中,B3、C3單元格分別是學生筆試成績和機試成績的存儲位置。

“OR(ISBLANK(B3),ISBLANK(C3))”是學生不缺考的條件,“(ISBLANK(B3)”和“ISBLANK(C3)”同時返回FALSE值,說明B3和C3單元格不為空,即學生不缺考),“AND(ISBLANK(B3),ISBLANK(C3)”是學生兩科成績都缺考的條件“(ISBLANK(B3)”和“ISBLANK(C3)”同時返回TRUE值,說明B3和C3單元格為空,即學生兩科成績都缺考),本示例的公式為IF的嵌套使用,其具體的判斷過程如圖9-27所示。

圖9-27 學生考試的缺考情況判斷流程示意圖

注意:空格≠空值

在Excel中,如果需要檢測的單元格中包含空格,雖然在表面上看起來,也是空單元格,但是在使用ISBLANK()函數進行判斷時,函數仍然返回FALSE值。

9.2.4 使用ISERR()函數和ISERROR()函數判斷單元格錯誤值

在Excel中,除了使用邏輯函數IFERROR()處理單元格的錯誤值,還可以使用信息函數ISERR()與ISERROR()來處理,這兩個信息函數的用法基本相似,其語法結構分別如下。

ISERR(value) ISERROR(value)

從語法結構中可以看出,ISERR()函數與ISERROR()函數都只有一個參數value,該參數主要用于指定需要進行檢測的單元格引用。當指定的單元格引用存在錯誤值時,則函數返回TRUE值,否則返回FALSE值。

雖然ISERR()函數與ISERROR()函數都能對單元格的錯誤值進行判斷,語法結構也相同,但是二者具有一定的區別。

◆ISERR():該函數能處理單元格中的大部分錯誤,對于#N/A錯誤,該函數不進行判斷。當在單元格中存在該錯誤時,函數仍然返回FALSE值。

◆ISERROR():該函數能處理單元格中的所有錯誤,如#N/A、#VALUE!、#REF!、#DIV/0!、#NUM!、#NAME?或#NULL!。

ISERR()函數與ISERROR()函數通常也是與其他函數嵌套使用,例如,要計算學生考試成績的總分,但是考試項可能存在缺考情況,則可以使用IF()函數嵌套ISERR()函數或ISERROR()函數來捕獲錯誤數據。

選擇需要判斷結果的單元格,在其中輸入“=IF(ISERROR(B3+C3),"缺考",B3+C3)”,如圖9-28所示,按【Ctrl+Enter】組合鍵計算當前學生的總分,然后利用復制公式的方法計算其他學生的總分,其最終的計算結果如圖9-29所示。

圖9-28 判斷當前學生的缺考情況

圖9-29 判斷其他學生的缺考情況

▲示例中公式的說明

在上述示例的公式“=IF(ISERROR(B3+C3),"缺考",B3+C3)”中,B3、C3單元格是學生筆試成績和機試成績的存儲位置。

“ISERROR(B3+C3)”是對“B3+C3”中可能存在的錯誤進行捕獲(當學生缺考,則其成績項標識為“/”,在計算過程中,數字與文本進行算術運算將出現#VALUE!)。“缺考”是ISERROR()函數返回TRUE時IF()函數的返回值,“B3+C3”是ISERROR()函數返回FALSE時IF()函數的返回值。

9.2.5 使用ISNUMBER()函數判斷數字

ISNUMBER()函數主要用于判斷指定的單元格引用中的數據是否為數字,如果數據為數字,則該函數返回TRUE值,否則返回FALSE值。

ISNUMBER()函數的語法結構如下。

ISNUMBER(value)

從語法結構中可以看出,ISNUMBER()函數只有一個參數value,該參數主要用于指定需要檢測的值的單元格引用。該函數與其他函數嵌套使用,其功能更強大。

例如,在9.2.4節中,使用ISERROR()函數只捕獲了公式存在錯誤,但是具體是哪個考試項缺考,卻無法進行判斷。而配合ISNUMBER()函數使用,可以具體分析出學生的缺考項。

選擇需要判斷結果的單元格,在其中輸入“=IF(ISERROR(B3+C3),IF(OR(ISNUMBER(B3),ISNUMBER(C3)),IF(ISNUMBER(B3),"機試缺考","筆試缺考"),"全部缺考"),B3+C3)”,如圖9-30所示,按【Ctrl+Enter】組合鍵計算當前學生的總分,然后利用復制公式的方法計算其他學生的總分,其最終的計算結果如圖9-31所示。

圖9-30 計算當前學生的總分情況

圖9-31 計算其他學生的總分情況

▲示例中公式的說明

在上述示例的公式“=IF(ISERROR(B3+C3),IF(OR(ISNUMBER(B3),ISNUMBER(C3)),IF(ISNUMBER(B3),"機試缺考","筆試缺考"),"全部缺考"),B3+C3)”中,B3、C3單元格是學生筆試成績和機試成績的存儲位置,該示例的公式與9.2.4節示例中的公式相似。

在該示例中使用公式“IF(OR(ISNUMBER(B3),ISNUMBER(C3)),IF(ISNUMBER(B3),"機試缺考","筆試缺考"),"全部缺考")”對9.2.4節中的“缺考”情況進行更具體的判斷。“OR(ISNUMBER(B3),ISNUMBER(C3))”是對全部缺考設置的條件,當ISNUMBER(B3)和ISNUMBER(C3)同時返回FALSE值時(即B3和C3單元格中的數據不是數字),表示全部缺考。

然后再使用“IF(ISNUMBER(B3),"機試缺考","筆試缺考")”對機試和筆試只缺考一項的情況進行判斷,當ISNUMBER(B3)返回TRUE值,說明B4單元格中的數據為數字數據(筆試有成績),則判斷該學生的機試缺考,否則判斷該學生的筆試缺考。

主站蜘蛛池模板: 专栏| 阜南县| 梨树县| 来宾市| 托克托县| 泉州市| 烟台市| 锡林浩特市| 保定市| 屏东县| 稷山县| 六安市| 依兰县| 内乡县| 周宁县| 大城县| 岳池县| 荣成市| 麦盖提县| 库车县| 四会市| 湄潭县| 塔河县| 竹溪县| 伊通| 广安市| 环江| 东阳市| 郴州市| 花莲市| 定远县| 三原县| 房山区| 吉安市| 错那县| 夏河县| 浪卡子县| 光泽县| 枣庄市| 大悟县| 阳山县|