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

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

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

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

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

該教程展示了在Excel中進行拼寫檢查的各種方法:手動檢查,VBA宏和使用專用工具。 學習檢查單元格,範圍,工作表和整個工作簿中的拼寫。 雖然Excel不是文字處理器,但它的spel

本教程提供了共享Excel工作簿,涵蓋各種方法,訪問控制和衝突解決方案的綜合指南。 現代Excel版本(2010年,2013年,2016年及以後)簡化了協作編輯,消除了M的需求

本教程解釋了絕對價值的概念,並演示了ABS函數的實用Excel應用,以計算數據集中的絕對值。 數字可能是正面的或負數的,但有時只有正值是需要的

Google主張Countif:綜合指南 本指南探討了Google表中的多功能Countif函數,展示了其超出簡單單元格計數的應用程序。 我們將介紹從精確和部分比賽到Han的各種情況

本教程演示瞭如何通過對行進行分組來簡化複雜的Excel電子表格,從而使數據易於分析。學會快速隱藏或顯示行組,並將整個輪廓崩潰到特定的級別。 大型的詳細電子表格可以是

本教程探討了將.xls文件轉換為.jpg映像的各種方法,包括內置的Windows工具和免費的在線轉換器。 需要創建演示文稿,安全共享電子表格數據或設計文檔嗎?轉換喲

本教程向您展示瞭如何在Google表中創建各種圖表,並為不同的數據方案選擇正確的圖表類型。 您還將學習如何創建3D和gantt圖表,以及如何編輯,複製和刪除圖表。 可視化數據是CRU
