本教程說明瞭如何在Excel中使用嵌套的嵌套來檢查多個(gè)條件。您還將學(xué)習(xí)其他一些功能,這些功能可能是在Excel中使用嵌套公式的好替代方法。
您通常如何在Excel工作表中實(shí)現(xiàn)決策邏輯?在大多數(shù)情況下,您將使用IF公式測(cè)試您的狀況並在滿足條件時(shí)返回一個(gè)值,如果未滿足條件,則另一個(gè)值。為了評(píng)估多個(gè)條件並根據(jù)結(jié)果返回不同的值,您可以在彼此之間嵌套多個(gè)IF。
儘管非常受歡迎,但嵌套語句不是檢查Excel中多個(gè)條件的唯一方法。在本教程中,您會(huì)發(fā)現(xiàn)一些絕對(duì)值得探索的替代方案。
excel嵌套如果語句
這是以通用形式嵌套的經(jīng)典excel:
if(條件1 ,結(jié)果1 ,if(條件2 , result2 ,if( condition3 , result3 , result4 )))))))))您可以看到,如果函數(shù)嵌入到上一個(gè)函數(shù)的value_if_false參數(shù)中,則每個(gè)後續(xù)詞。每個(gè)函數(shù)都包含在其自身的括號(hào)集中,但是所有關(guān)閉括號(hào)都在公式的末尾。
我們的通用嵌套如果公式評(píng)估3個(gè)條件,並返回4個(gè)不同的結(jié)果(如果條件不正確,則返回4)。如果語句告訴Excel進(jìn)行以下操作:
測(cè)試條件1 ,如果為true-返回結(jié)果1 ,如果false -test條件2 ,如果為true -return r esult2 ,if false -test條件3 ,如果true -true -return -return result3 ,如果false -return result4例如,讓我們根據(jù)他們的銷售量來找出許多賣家的傭金:
委員會(huì) | 銷售量 |
3% | $ 1- $ 50 |
5% | $ 51- $ 100 |
7% | $ 101- $ 150 |
10% | 超過$ 150 |
在數(shù)學(xué)中,更改附加的順序不會(huì)更改總和。在Excel中,更改函數(shù)的順序會(huì)改變結(jié)果。為什麼?因?yàn)榍短椎娜绻椒祷嘏c第一個(gè)真實(shí)條件相對(duì)應(yīng)的值。因此,在您的嵌套if語句中,根據(jù)公式的邏輯,將條件排列在正確的方向上 - 高到低或低到高。在我們的情況下,我們首先檢查“最高”狀況,然後檢查“第二高”,依此類推:
=IF(B2>150, 10%, IF(B2>=101, 7%, IF(B2>=51, 5%, IF(B2>=1, 3%, ""))))
如果我們從自下而上的情況下將條件放在相反的順序中,結(jié)果將是錯(cuò)誤的,因?yàn)槲覀兊墓綄⒃诘谝粋€(gè)邏輯測(cè)試(B2> = 1)之後停止,任何值大於1。例如,我們的銷售額為100美元 - 大於1,因此該公式不會(huì)檢查其他條件並結(jié)果返回3%。
如果您寧願(yuàn)將條件從低到高排列,請(qǐng)首先使用“少於“操作員”並評(píng)估“最低”狀況,然後使用“第二個(gè)最低”,依此類推:
=IF($B2
如您所見,要構(gòu)建嵌套if語句的邏輯一直到末尾,需要進(jìn)行很多思考。而且,儘管Microsoft Excel允許在一個(gè)公式中功能最多嵌套64個(gè),但這不是您在工作表中真正想做的事情。因此,如果您(或其他人)凝視著您的excel嵌套,如果公式試圖弄清楚它的實(shí)際功能,那麼該重新考慮您的策略並可能在您的武器庫中選擇其他工具了。
有關(guān)更多信息,請(qǐng)參閱excel nested If語句。
如果有或/和條件嵌套
如果您需要評(píng)估幾組不同的條件,則可以使用或功能表達(dá)這些條件,然後將功能嵌套在IF語句中,然後將IF語句彼此嵌套。
嵌套在Excel中或語句中
通過使用或函數(shù),您可以在每個(gè)功能的邏輯測(cè)試中檢查兩個(gè)或更多不同的條件,如果有(至少一個(gè))或參數(shù)評(píng)估為true,則返回true。要查看實(shí)際工作原理,請(qǐng)考慮以下示例。
假設(shè)您有兩列銷售,例如1月在B列中的銷售額和C列的2月銷售額。換句話說,您建立一個(gè)具有以下邏輯的公式:如果Jan或2月的銷售額大於150美元,則賣方獲得10%的傭金,如果Jan或2月的銷售大於或等於101美元,則賣方獲得7%的傭金,等等。
要完成它,請(qǐng)編寫一些語句,例如或(B2> 150,C2> 150),然後將它們嵌套到上面討論的IF函數(shù)的邏輯測(cè)試中。結(jié)果,您將獲得此公式:
=IF(OR(B2>150, C2>150), 10%, IF(OR(B2>=101, C2>=101),7%, IF(OR(B2>=51, C2>=51), 5%, IF(OR(B2>=1, C2>=1), 3%, ""))))
並根據(jù)較高的銷售額分配委員會(huì):
有關(guān)更多公式的示例,請(qǐng)參閱excel if if或convate。
嵌套在Excel和語句中
如果您的邏輯測(cè)試包括多種條件,並且所有這些條件都應(yīng)評(píng)估為true,請(qǐng)使用和功能表達(dá)它們。
例如,要根據(jù)銷售量較低的傭金分配傭金,請(qǐng)採取上述公式並替換或用和語句。換句話說,您告訴Excel僅當(dāng)Jan和Feb的銷售額大於150美元,如果Jan和2月的銷售額大於或等於101美元,則返回10%,依此類推。
=IF(AND(B2>150, C2>150), 10%, IF(AND(B2>=101, C2>=101), 7%, IF(AND(B2>=51, C2>=51), 5%, IF(AND(B2>=1, C2>=1), 3%, ""))))
結(jié)果,如果公式根據(jù)B和C列中的較低數(shù)量計(jì)算傭金。
如果您想返回0%而不是空白單元格,請(qǐng)用0%替換最後一個(gè)參數(shù)中的一個(gè)空字符串('''):
=IF(AND(B2>150, C2>150), 10%, IF(AND(B2>=101, C2>=101), 7%, IF(AND(B2>=51, C2>=51), 5%, IF(AND(B2>=1, C2>=1), 3%, 0%))))
可以在此處找到更多信息:如果有多個(gè)和/或條件,則表現(xiàn)出色。
vlookup而不是嵌套如果在Excel中
當(dāng)您處理“比例”時(shí),即覆蓋整個(gè)範(fàn)圍的數(shù)值的連續(xù)範(fàn)圍,在大多數(shù)情況下,您可以使用vlookup函數(shù)而不是嵌套IF。
對(duì)於初學(xué)者,製作一個(gè)參考表,如下面的屏幕快照所示。然後,構(gòu)建具有近似匹配的Vlookup公式,即將range_lookup參數(shù)設(shè)置為true。
假設(shè)查找值在B2中,並且參考表為f2:g5,則公式如下:
=VLOOKUP(B2,$F$2:$G$5,2,TRUE)
請(qǐng)注意,我們使用絕對(duì)參考($ f $ 2:$ g $ 5)修復(fù)了Table_array ,以正確複製到其他單元格:
通過將Vookup公式的最後一個(gè)參數(shù)設(shè)置為True,您可以告訴Excel搜索最接近的匹配項(xiàng)- 如果找不到確切的匹配項(xiàng),請(qǐng)返回下一個(gè)小於查找值的最大值。結(jié)果,您的公式不僅將匹配查找表中的確切值,還將匹配介於兩者之間的任何值。
例如,B3中的查找值為$ 95。該數(shù)字在查找表中不存在,在這種情況下,具有精確匹配的Vlookup將返回#N/A錯(cuò)誤。但是,具有近似匹配的Vlookup繼續(xù)進(jìn)行搜索,直到找到小於查找值的最近值(在我們的示例中為$ 50),並從同一行中的第二列返回一個(gè)值(為5%)。
但是,如果查找值小於查找表中的最小數(shù)字,或者查找單元格是空的?在這種情況下,Vlookup公式將返回#N/A錯(cuò)誤。如果不是您真正想要的,則在未找到查找值時(shí)嵌套vlookup在IFERROR內(nèi)部並向輸出提供值。例如:
=IFERROR(VLOOKUP(B2, $F$2:$G$5, 2, TRUE), "Outside range")
重要說明!對(duì)於具有近似匹配的vlookup公式可以正常工作,必須按升序排序查找表中的第一列,從最小到最大。
有關(guān)更多信息,請(qǐng)參閱確切的匹配vlookup vs.近似匹配vlookup。
IFS語句作為嵌套的替代
在Excel 2016及以後的版本中,Microsoft引入了一個(gè)特殊功能,以評(píng)估多種條件 - IFS功能。
一個(gè)IFS公式最多可以處理127個(gè)邏輯_test / value_if_true對(duì),以及第一個(gè)評(píng)估對(duì)true“ wins”的邏輯測(cè)試:
ifs(logical_test1,value_if_true1,[logical_test2,value_if_true2] ...)...)根據(jù)上述語法,如果可以以這種方式重建公式,則我們的嵌套是:
=IFS(B2>150, 10%, B2>=101, 7%, B2>=51, 5%, B2>0, 3%)
請(qǐng)注意,如果未滿足指定條件,則IFS功能將返回#N/A錯(cuò)誤。為了避免這種情況,您可以在公式的末尾添加一個(gè)logical_test / value_true ,它將返回0或空字符串(“”)或您想要的任何值,如果以前的邏輯測(cè)試都不是正確的:
=IFS(B2>150, 10%, B2>=101, 7%, B2>=51, 5%, B2>0, 3%, TRUE, "")
結(jié)果,如果B列中的相應(yīng)單元格為空或包含文本或負(fù)數(shù),則我們的公式將返回一個(gè)空字符串(空白單元),而不是#N/A錯(cuò)誤。
筆記。像嵌套IF一樣,Excel的IFS函數(shù)返回與評(píng)估為true的第一個(gè)條件相對(duì)應(yīng)的值,這就是為什麼IFS公式中邏輯測(cè)試的順序很重要的原因。
有關(guān)更多信息,請(qǐng)參閱Excel IFS功能而不是嵌套IF。
選擇代替嵌套如果在Excel中的公式
Excel中單個(gè)公式中測(cè)試多個(gè)條件的另一種方法是使用“選擇函數(shù)”,該功能旨在根據(jù)該值的位置從列表中返回值。
應(yīng)用於我們的樣本數(shù)據(jù)集,該公式採用以下形狀:
=CHOOSE((B2>=1) (B2>=51) (B2>=101) (B2>150), 3%, 5%, 7%, 10%)
在第一個(gè)參數(shù)( index_num )中,您可以評(píng)估所有條件並添加結(jié)果。鑑於True等於1,然後false為0,因此您可以計(jì)算返回值的位置。
例如,B2中的值為$ 150。對(duì)於此值,前三個(gè)條件是正確的,最後一個(gè)條件(B2> 150)為假。因此, index_num等於3,這意味著返回第三個(gè)值,為7%。
提示。如果邏輯測(cè)試都不是正確的,則index_num等於0,公式將返回#value!錯(cuò)誤。一個(gè)簡單的修復(fù)程序是在IFERROR函數(shù)中包裝選擇:
=IFERROR(CHOOSE((B2>=1) (B2>=51) (B2>=101) (B2>150), 3%, 5%, 7%, 10%), "")
有關(guān)更多信息,請(qǐng)參閱Excel選擇具有公式示例的功能。
如果在Excel中,開關(guān)功能是嵌套的簡潔形式
在處理固定的預(yù)定義值的情況下,而不是比例時(shí),開關(guān)函數(shù)可以是if語句的複雜嵌套的緊湊型替代方案:
switch(expression,value1,result1,value2,result2,…,[默認(rèn)])開關(guān)函數(shù)可根據(jù)值列表評(píng)估表達(dá)式,並返回對(duì)應(yīng)於第一個(gè)發(fā)現(xiàn)匹配的結(jié)果。
如果您想根據(jù)以下等級(jí)而不是銷售量來計(jì)算傭金,則可以在Excel中使用此緊湊版的嵌套版本:
=SWITCH(C2, "A", 10%, "B", 7%, "C", 5%, "D", 3%, "")
或者,您可以製作一個(gè)參考表,如下面的屏幕截圖中所示,並使用單元格引用而不是硬編碼值:
=SWITCH(C2, $F$2, $G$2, $F$3, $G$3, $F$4, $G$4, $F$5, $G$5, "")
請(qǐng)注意,除了第一個(gè)帶有$符號(hào)的引用以外,我們鎖定所有參考,以防止它們?cè)趯⒐窖}製到其他單元格時(shí)更改:
筆記。 Switch功能僅在Excel 2016及更高版本中可用。
有關(guān)更多信息,請(qǐng)參閱Switch功能 - 嵌套IF語句的緊湊形式。
在Excel中函數(shù)串聯(lián)多個(gè)
如上一個(gè)示例中所述,僅在Excel 2016中引入了開關(guān)功能。要處理較舊的Excel版本中的類似任務(wù),您可以通過使用Convatenate Operator(&)或CondateNate功能組合兩個(gè)或更多IF語句。
例如:
=(IF(C2="a", 10%, "") & IF(C2="b", 7%, "") & IF(C2="c", 5%, "") & IF(C2="d", 3%, ""))*1
或者
=CONCATENATE(IF(C2="a", 10%, ""), IF(C2="b", 7%, ""), IF(C2="c", 5%, "") & IF(C2="d", 3%, ""))*1
您可能已經(jīng)註意到,我們?cè)趦蓚€(gè)公式中將結(jié)果乘以1。這樣做是為了將Concatenate公式返回的字符串轉(zhuǎn)換為一個(gè)數(shù)字。如果您的預(yù)期輸出是文本,則不需要乘法操作。
有關(guān)更多信息,請(qǐng)參閱Excel中的Concatenate功能。
您會(huì)看到Microsoft Excel提供了一些嵌套的好替代方案,如果公式,希望本教程為您提供了一些有關(guān)如何在工作表中利用它們的線索。要仔細(xì)查看本教程中討論的示例,歡迎您下面下載我們的示例工作簿。我感謝您閱讀,並希望下週在我們的博客上見到您!
練習(xí)工作簿下載
excel嵌套if語句 - 示例(.xlsx文件)
以上是excel嵌套if語句 - 示例,最佳實(shí)踐和替代方案的詳細(xì)內(nèi)容。更多資訊請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

熱AI工具

Undress AI Tool
免費(fèi)脫衣圖片

Undresser.AI Undress
人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6
視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版
神級(jí)程式碼編輯軟體(SublimeText3)
