色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

能不能解釋一下表格函數IF的使用方法

錢琪琛2年前12瀏覽0評論

能不能解釋一下表格函數IF的使用方法?

一、語法

首先看看IF函數的語法

IF(logical_test,value_if_true,value_if_false)

logical_test,邏輯值或者表達式。

value_if_true ,logical_test 為 真 時返回的值。

value_if_false ,logical_test 為假 時返回的值。

邏輯值可以用TRUE和FALSE或者1和0表示。如果第一參數為任意數字,只有當數字為0時表示假,其他數字都表示真,例如=IF(-1,1,0)結果為1,=IF(2,1,0)結果為1,=IF(0,1,0)結果為0.

如果第一參數為表達式,要注意表達式的寫法。很多初學者極容易犯的錯誤,寫出數學表達式a=<x<=b。例如一個簡單的IF判斷題:如果0<=x<=1,y=0.5,否則y=0。新手容易寫出這種公式=IF(0=<A2<=1,0.5,0)。這個公式沒有語法錯誤,可以得到結果。我們測試一下看看結果,如圖:

可以看到所有的y值都是0,為什么?

這個公式計算步驟是這樣的:首先計算0<=0.3,結果為邏輯值TRUE。再計算

TRUE<=1,邏輯值TRUE和FALSE,大于EXCEL允許的最大值9.9999*10^307,所以這個式子結果為FALSE。條件為假,得到value_if_false的值,結果為0.這里額外說明一下,如果兩個邏輯值TRUE和FALSE比較大小,TRUE>FALSE.

正確的寫法之一=IF(A2<0,0,IF(A2<=1,0.5,0)),如圖

實際運用中,很多小伙伴不喜歡這么寫,他們喜歡用OR和AND來連接多個條件。

這個題目的另外一種寫法=IF(AND(A2>=0,A2<=1),0.5,0)

實際上我們經常會用*和+來代替AND和OR。表示兩個條件同時成立,=AND(A2>=0,A2<=1)等效為=(A2>=0)*(A2<=1);

表示兩個條件只滿足一個即可,=OR(A2>=0,A2<=1)等效為=(A2>=0)+(A2<=1).

OR和AND這兩個函數我個人一般不會大量使用,其一是表達式的邏輯值容易混亂理不清,其二就是增加了公式的長度。例如下面這個問題:如果A1和B1同時為空,C1為空;如果A1非空,B1為空,C1為1;如果A1為空,B1非空,C1為2;如果A1和B1都不為空,C1為3.如果大量使用AND,公式

=IF(AND(A1="",B1=""),"",IF(AND(A1<>"",B1=""),1,IF(AND(A1="",B1<>""),2,3)))

這條公式屬于IF的多重嵌套。多重嵌套的特點之一,最后至少有和IF個數一般多的括號。這里三個IF,可以看到最后有三個括號,這個特點可以幫助我們判斷多重嵌套的IF公式是否漏寫了括號。

如果不使用AND,公式

=IF(A1="",IF(B1="","",2),IF(B1="",1,3))

這條公式也用了三個IF,第二個IF判斷當A1為空時,B1是否為空。第三個IF判斷當A1為非空時,B1是否為空。

二、關于IF函數的簡寫

簡寫一:IF(logical_test,value_if_true)

這里省略了第三參數,當logical_test為假時,結果為FALSE。這樣寫的目為了節省字符,某些條件下寫公式更加簡潔。如圖,某次考試的成績如下表,缺考考生成績不計算分數,求各班的最低分。

E2輸入公式

=MIN(IF(($A$2:$A$16=D2)*($B$2:$B$16<>""),$B$2:$B$16))

然后按ctrl+shift+enter,下拉填充。

MIN函數忽略文本值和空值"",也忽略邏輯值TRUE和FALSE??諉卧駮斪?處理,所以這里需要去掉空值。

如果只是求各班的最高分,公式改寫為

=MAX(($A$2:$A$16=D2)*$B$2:$B$16),然后按ctrl+shift+enter,下拉填充。

同樣MAX函數忽略文本值和空值"",也忽略邏輯值TRUE和FALSE。

簡寫二:IF(logical_test,value_if_true,)

這里第三參數為0,空起來不寫只寫一個逗號。這種寫法出現在很多公式中,常用函數除了OFFSET函數和SUBSTITUTE函數外,一般都代表0。其中OFFSET第二、第三參數只寫逗號代表0,第五參數只寫逗號代表對應的引用區間寬度為1。SUBSTITUTE的第三參數只寫逗號代表替換舊文本為空值。

三、關于去IF的若干寫法

IF函數雖然很簡單,但有時候過多的IF嵌套顯得公式很長,這個時候我們需要精簡公式,下面通過例子說明。

例一,計算勞齡。規則:如果性別為男,年齡小于18歲,勞齡為0,大于等于18歲勞齡從1開始計算,最高勞齡為50。如果性別為女,年齡小于18歲,勞齡為0,大于等于18歲勞齡從1開始計算,最高勞齡為45。如圖:

C2輸入公式

=MEDIAN(0,B2-17,45+(A2="男")*5),下拉填充。

例二,計算評價結果。規則:分數小于60分為不及格,大于等于60分小于70分為及格,大于等于70分小于80分為良,大于等于80分小于90分為好,大于等于90分為優。如圖:

這種題屬于經典題,解法一,IF的多重嵌套:

=IF(A2<60,"不及格",IF(A2<70,"及格",IF(A2<80,"良",IF(A2<90,"好","優"))))

解法二,VLOOKUP的近似匹配:

=VLOOKUP(A2,{0,"不及格";60,"及格";70,"良";80,"好";90,"優"},2,1)

解法三,LOOKUP的基本用法:

=LOOKUP(A2,{0;60;70;80;90},{"不及格";"及格";"良";"好";"優"})

解法四,TEXT的多重嵌套:

=TEXT(TEXT(TEXT(TEXT(A2-60,"[>=0];不及格"),"[>=10];及格"),"[>=20];良"),"[>=30]優;好")

解法二和解法三需要注意條件,判斷條件為左閉右開區間,形如a<=x<b。如果不是這個條件就要注意寫法。再看一個例子,計算快遞費。某快遞規定,1kg內包含1kg的物品運費為3元,大于1kg小于等于2kg的物品運費為5元,大于2kg小于等于3kg的物品運費為8元。3kg以上的物品,每超過1kg(超重部分向上取整數),運費在8元的基礎上再加2元。如圖:

B2輸入公式

=IF(A2<=3,LOOKUP(3-A2,{0,1,2},{8,5,3}),8+2*CEILING(A2-3,1))

解法四屬于IF的一個遠方親戚,TEXT函數。TEXT函數屬于百變之王,兼職IF的部分功能,使用這個函數某些情況下能減少公式的長度。如圖,把字符X-Y拆成X,X+1,X+2,……,Y(X,Y均為正整數,且Y大于X)

A2公式

=TEXT(LEFT($A$1,FIND("-",$A$1)-1)+ROW(A1)-1,"[<="&MID($A$1,FIND("-",$A$1)+1,99)&"];"),下拉填充。

再看一例TEXT的應用,如圖

C2公式

=IF(B2<7,"小于7","大于等于"&TEXT(41-4*MATCH(A2,{"A","B","C"},),"[<="&B2&"];7小于0"))

這兩個例子都屬于TEXT的應用,有興趣的童鞋去查看TEXT函數的高級用法。

某些情況下,CHOOSE函數也可以簡化IF函數,如圖計算評級:

D2輸入公式

=LOOKUP(C2,CHOOSE(MATCH(B2,{"重點班","普通班","藝術班","體育班"},),{0,70,80,90},{0,60,70,80},{0,50,60,70},{0,45,55,65}),{"D","C","B","A"})

CHOOSE函數這里選擇滿足條件的區域,得到LOOKUP函數的第二參數。

以上是本人對IF函數的一些理解,當然IF函數還可以生成內存數組,常見于VLOOKUP函數的倒序查詢和一對多查詢,格式=IF({1,0},區域1,區域2)。由于本人水平有限,這里我就不展開。歡迎各位朋友批評指正,謝謝大家!