很多朋友對于choose函數的使用方法和choose函數值太多了怎么辦不太懂,今天就由小編來為大家分享,希望可以幫助到大家,下面一起來看看吧!
vba函數問題,幫忙舉個例子說明一下switch和choose這2個選擇函數怎么用
switch和choose都是做選擇用的函數,不同點在switch的參數更靈活一些
例如
現在需要填一份付款單,其中美元用$,人民幣用¥,歐元用封閉小寫
單元格A1,填大寫,A2單元格填小寫.其中A2單元格貨幣符號根據A1單元格自動填寫
switch用VBA表達式如下
[A2]=switch([A1]="美元","$",[A1]="人民幣","¥",[A1]="歐元","")
而choose,則只能讓你在[A1]單元格中填1,2,3分別表示美元,人民幣,歐元三種貨幣
[A2]=choose([A1],"美元","人民幣","歐元")
遇到例外選擇則兩個函數都不好用了.需要用iif,或SelectCase,因此這兩個函數是不常用函數.
能不能解釋一下表格函數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。空單元格會當做0處理,所以這里需要去掉空值。
如果只是求各班的最高分,公式改寫為
=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)。由于本人水平有限,這里我就不展開。歡迎各位朋友批評指正,謝謝大家!
怎么在excel中使用CHOOSE函數
方法一:
1.打開Excel,輸入測試使用的數據
2.在任意單元格中輸入=choose,會提示輸入參數的類型
3.第一個參數為索引,第二個至以后的值為一個序列,索引值不能小于1,如果為小數會自動截取整數,1對應的是value1,依次類推,如果使用雙引號,一定要用英文雙引號。
方法二:
1.choose參數中的值可以是單元格,這時,返回的是單元格內的值
2.函數嵌套,按照提示來輸入參數
3.當value的值是地址范圍時,choose返回的是地址范圍,這時需要與其他函數一并使用
4.如果我們不與其他函數一起使用,這時返回的會是所選區域的第一個單元格的值,會返回5。
Excel;誰能介紹一個choose函數的用法,最好能舉個例子
在B2中寫入公式:=CHOOSE(MID(A2,3,1),"數學","物理","化學")下拉復制公式即可。
VB中的CHOOSE函數問題
返回BlueWeekday函數返回一個日期的星期數..2007,5,1是星期二.所以WeekDay函數返回3(VB把星期天做為一星期的第一天).Choose函數第一個參數是選擇第幾個,其他的都是待選的參數列表了.選第三項.BLUE
好了,文章到這里就結束啦,如果本次分享的choose函數的使用方法和choose函數值太多了怎么辦問題對您有所幫助,還望關注下本站哦!