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

2.2.4 經典的邏輯判斷函數

邏輯判斷函數是指進行真假值判斷,或者進行復合檢驗的一類邏輯函數。常見的邏輯判斷函數包括AND、OR、NOT、IF、IFERROR、IS系列(包括ISERROR、ISTEXT、ISNUMBER等)。IF函數經常用于多個條件的嵌套判斷,例如,根據銷售人員的業績范圍判斷銷售提成系數。此外,AND、OR函數可以用來對多個條件進行檢查判斷,例如,銷售員小李同時滿足業績達到20萬元和成交件數達到3單就可以晉升,此時可以用IF函數結合AND函數進行邏輯判斷。下面通過實例對常用的邏輯判斷函數進行說明。

1.AND函數

功能說明:檢查是否所有的參數均為TRUE,如果所有的參數值均為TRUE,則返回TRUE。

語法:AND(logical1,[logical2], …)

參數:

● logical1必須。邏輯表達式1。

● [logical2], … 可選。邏輯表達式2等。

示例:區域A2:A5是邏輯判斷的公式,區域B2:B5是公式的結果。

公式與步驟:

示例一:單元格B2內輸入公式“=AND(1>2,2>1)”。

示例二:單元格B3內輸入公式“=AND(2>1,1)”。

示例三:單元格B4內輸入公式“=AND(-1,1)”。

示例四:單元格B5內輸入公式“=AND(1,0,2)”,結果如圖2-64所示。

圖2-64 AND函數

提示:

● 數值0作為參數的邏輯值被當成FALSE使用。

● 非0數值作為參數的邏輯值被當成TRUE使用。

● 任意一個參數的邏輯值出現FALSE(或者數值0)的時候,結果返回FALSE。

● 所有的參數的邏輯值都是TRUE的時候,結果返回TRUE。

2.OR函數

功能說明:如果任意參數為TRUE,即返回TRUE;只有當所有的參數值均為FALSE時才返回FALSE。

語法:OR(logical1,[logical2], …)

參數:

● logical1必須。邏輯表達式1。

● [logical2], … 可選。邏輯表達式2等。

示例:

區域A2:A5是邏輯判斷的公式,區域B2:B5是公式的結果。

公式與步驟:

示例一:單元格B2內輸入公式“=OR(1>2,2>1)”。

示例二:單元格B3內輸入公式“=OR(2>1,1)”。

示例三:單元格B4內輸入公式“=OR(-1,1)”。

示例四:單元格B5內輸入公式“=OR(FALSE,0)”,結果如圖2-65所示。

圖2-65 OR函數

提示:

● 任意一個參數的邏輯值出現TRUE(或者非0數值)的時候,結果返回TRUE。

● 所有的參數的邏輯值均為FALSE的時候,結果返回FALSE。

3.NOT函數

功能說明:對參數的邏輯值求反:參數為TRUE時返回FALSE,參數為FALSE時返回TRUE。

語法:NOT(logical)

參數:logical必須。邏輯表達式。

示例:區域A2:A5是邏輯判斷的公式,區域B2:B5是公式的結果。

公式與步驟:

示例一:單元格B2內輸入公式“=NOT(TRUE)”。

示例二:單元格B3內輸入公式“=NOT(FALSE)”。

示例三:單元格B4內輸入公式“=NOT(1>2)”。

示例四:單元格B5內輸入公式“=NOT(2+2=4)”,結果如圖2-66所示。

圖2-66 NOT函數

4.IF函數

功能說明:判斷是否滿足某個條件,如果滿足返回一個值,如果不滿足則返回另外一個值。

語法:IF(logical_test,[value_if_true],[value_if_false])

參數:

● logical_test必須。可以為數值或邏輯表達式。

● value_if_true可選。當logical_test為TRUE時返回的結果。

● value_if_false可選。當logical_test為FALSE時返回的結果。

示例:以某學校的學生信息成績表為例,數據如表2-5所示。字段包括班級、姓名、性別、成績,數據位于區域A1:D8。要求根據成績score判斷得分等級,score小于60分的判定為不及格,score大于等于60分且小于85分判定為及格,score大于等于85分判定為優秀。

表2-5 學生信息成績表

公式與步驟:

方法一:單元格E3內輸入公式“=IF(D3<60,"不及格",IF(D3<85,"及格","優秀"))”,然后向下拖拽復制公式。

方法二:單元格F3內輸入公式“=IF(D3>=85,"優秀",IF(D3>=60,"及格","不及格"))”,然后向下拖拽復制公式,結果如圖2-67所示。

圖2-67 IF函數

提示:IF函數可以進行多層嵌套判斷,如果是需要滿足多個條件進行判斷,可以嵌套AND函數作為logical_test的參數。

5.IFERROR函數

功能說明:如果表達式是一個錯誤,則返回value_if_error,否則返回表達式自身的值。

語法:IFERROR(value,value_if_error)

參數:

● value必需。檢查是否存在錯誤的參數。

● value_if_error必需。公式的計算結果錯誤時返回的值。

示例一 將錯誤值處理成0:以某企業的產品銷售表為例,數據如表2-6所示。字段包括產品類型、銷售額。數據位于區域A1:B5。要求將區域B2:B5的錯誤值處理成0。

表2-6 產品銷售表

公式與步驟:單元格F2內輸入公式“=IFERROR (B2,0)”,然后向下拖拽復制公式,結果如圖2-68所示。

圖2-68 IFERROR函數—示例一

示例二 統計所有產品銷售額之和:以某企業的產品銷售表為例,數據如表2-6所示。字段包括產品類型、銷售額。數據位于區域A1:B5。要求對區域B2:B5的銷售額進行求和計算。

公式與步驟:

方法一:單元格F2內輸入數組公式“{=SUM(IFERROR(B2:B5,0))}”。

方法二:單元格F3內輸入公式“=SUMIF(B2:B5,"<9e307")”,結果如圖2-69所示。

圖2-69 IFERROR函數—示例二

提示:

● 方法一是用IFERROR函數將所有錯誤值處理成0,然后用SUM函數進行數組求和。

● 方法二的SUMIF函數省略了求和區域的參數,以條件區域B2:B5作為求和區域,求和條件是"<9e307",剔除錯誤值,對其余數值求和。

6.ISERROR函數

功能說明:檢查一個值是否為錯誤(#N/A、#VALUE!、#REF!、#DIV/0!、#NUM!、#NAME?、#NULL!),結果返回TRUE或FALSE。

語法:ISERROR(value)

參數:value必需。判斷是否為錯誤值的參數。

示例一 判斷數值是否為錯誤值:以某店鋪的商品銷售表為例,數據如表2-7所示。字段包括商品名稱、銷量。數據位于區域A1:B6。要求判斷B2:B6區域數據是否為錯誤值,如果是錯誤值用1表示,否則用0表示。

表2-7 商品銷售表

公式與步驟:單元格F2內輸入公式“=IF (ISERROR (B2),1,0)”,向下拖拽復制公式,結果如圖2-70所示。

圖2-70 ISERROR函數—示例一

示例二 統計錯誤值的個數:以某店鋪的商品銷售表為例,數據如表2-7所示。字段包括商品名稱、銷量。數據位于區域A1:B6。要求統計區域B2:B6中錯誤值的個數。

公式:

方法一:單元格F2內輸入數組公式“{=SUM(ISERROR(B2:B6)+0)}”。

方法二:單元格F3內輸入數組公式“{=SUM(ISERROR(B2:B6)*1)}”。

方法三:單元格F4內輸入公式“=SUMPRODUCT(ISERROR(B2:B6)+0)”。

方法四:單元格F5內輸入公式“=SUMPRODUCT(ISERROR(B2:B6)*1)”,結果如圖2-71所示。

圖2-71 ISERROR函數—示例二

提示:

● 方法一和方法二是利用ISERROR函數對區域B2:B6中的數據進行判斷,返回一個布爾值數組,然后通過加數值0或乘以數值1的方法,將布爾值數組轉換為數值0和數值1組成的數組,最后按〈Ctrl+Shift+Enter〉組合鍵生成統計結果。

● 方法三和方法四是也是利用ISERROR函數對區域B2:B6中的數據進行判斷,返回一個布爾值數組,然后通過加數值0或乘以數值1的方法,將布爾值數組轉換為數值0和數值1組成的數組,最后用SUMPRODUCT函數對數組進行交叉乘積求和。

7.ISTEXT函數

功能說明:檢查一個值是否為文本,返回TRUE或FALSE。

語法:ISTEXT(value)

參數:value必需。要判斷測試的值。

示例:判斷區域A2:A4中的數值是否為文本。

公式與步驟:單元格E2內輸入公式“=ISTEXT(A2)”,然后向下拖拽復制公式,結果如圖2-72所示。

圖2-72 ISTEXT函數

8.ISNUMBER函數

功能說明:檢查一個值是否為數值,返回TRUE或FALSE。

語法:ISNUMBER(value)

參數:value必需。要判斷測試的值。

示例:判斷區域A2:A4中的數值是否為數值。

公式與步驟:單元格E2內輸入公式“=ISNUMBER(A2)”,然后向下拖拽復制公式,結果如圖2-73所示。

圖2-73 ISNUMBER函數

以上是對邏輯判斷函數的簡單介紹,并采用示例對函數進行了功能講解,下面的邏輯判斷函數案例一~案例二是邏輯判斷函數的應用擴展。

9.邏輯判斷函數案例一

案例說明:一般企業對于銷售人員的轉正晉升都有相當嚴格的考核。以某企業的銷售業績考核標準為例,銷售人員如果達到企業制定的標準就可以實現轉正或晉升,銷售業績考核標準如表2-8所示。

表2-8 業績考核標準

公式與步驟:單元格E2內輸入公式“=IF(AND(B2<=2,D2>=5),"轉正",IF(AND(B2>2, D2>=10),"晉升",""))”,然后向下拖拽復制公式,結果如圖2-74所示。

圖2-74 邏輯判斷函數案例一

提示:利用AND函數判斷入職時長和業績是否同時滿足考核標準,如果兩個條件同時滿足可以實現轉正、晉升,否則結果返回空。

10.邏輯判斷函數案例二

案例說明:以不同學生的考試成績表為例,有些同學缺考了部分科目,標注的是“缺考”。要求統計不同學生參加的考試科目數以及缺考的科目數。

公式與步驟:

1)單元格F2內輸入數組公式:{=SUM(ISNUMBER(B2:E2)*1)},然后向下拖拽復制公式。

2)單元格G2內輸入數組公式:{=SUM(ISTEXT(B2:E2)*1)},然后向下拖拽復制公式,結果如圖2-75所示。

圖2-75 邏輯判斷函數案例二

提示:利用ISNUMBER或ISTEXT函數對區域進行判斷生成布爾值數組,然后乘以數值1生成數值數組,最后按〈Ctrl+Shift+Enter〉組合鍵創建數組公式。

主站蜘蛛池模板: 营口市| 江北区| 都兰县| 浮梁县| 册亨县| 伊通| 广河县| 秀山| 乌海市| 明溪县| 云霄县| 额济纳旗| 图们市| 南乐县| 合肥市| 大同市| 界首市| 河曲县| 固原市| 万州区| 砀山县| 兴业县| 漳平市| 东丽区| 嘉黎县| 三门县| 安塞县| 麻城市| 丰台区| 龙口市| 怀安县| 郸城县| 满城县| 平江县| 阿图什市| 梁山县| 镇平县| 隆化县| 南昌市| 天等县| 平安县|