嵌套函數(shù)IF與VLOOKUP該使用哪一個? excel中IF與VLOOKUP函數(shù)區(qū)別

在 Excel 中 IF 和 VLOOKUP 都是很常用的函數(shù),它們都可以在指定的條件下返回需要的結(jié)果。當(dāng)你不確定使用哪一個時,告訴你一個好的方法—看完全文。
本文通過兩個示例說明在哪種情況下用嵌套 IF 或是 VLOOKUP。
示例 1
例如,我們要根據(jù)賣家的銷售額來找出對應(yīng)的傭金比例,為此單獨創(chuàng)建了一個傭金比例表(見下圖)。
其中,第一列是按銷售額劃分的區(qū)間,每個區(qū)間對應(yīng)的不同的傭金比例。第二列銷售額是每個區(qū)間的最低下限,也就是說,只有銷售額大于最低下限才能享受對應(yīng)的傭金比例。還有一點比較重要,就是設(shè)置的區(qū)間參數(shù)要有順序,要按從低到高排序(如下圖)。
使用嵌套 IF 公式如下:
=IF(C3>200,10%,IF(C3>100,7%,IF(C3>50,5%,IF(C3>1,3%,""))))
公式中并沒有引用傭金比例表中的數(shù)據(jù),而是直接輸入了銷售額及傭金比例。如果要直接引用應(yīng)把公式寫成:
=IF(C3>$G$6,$H$6,IF(C3>$G$5,$H$5,IF(C3>$G$4,$H$4,IF(C3>$G$3,$H$3,""))))
這樣編寫公式的好處是當(dāng)調(diào)整銷售額區(qū)間或傭金比例時不用再修改公式了。
這里你會發(fā)現(xiàn)上面公式用 IF 函數(shù)是從高到低來判斷的,即先判斷大于 200的銷售額然后逐級遞減,而不是像傭金比例表中的由低到高的順序。如果按與比例表中相同順序編寫公式,結(jié)果會出現(xiàn)錯誤,具體原因請閱讀:Excel中的嵌套 IF – 具有多個條件的公式
使用 VLOOPUP 函數(shù)公式如下:
=VLOOKUP(C3,$G$3:$H$6,2,TRUE )
其中:
- C3 是要查找的值,也就是示例中的銷售額
- $G H$6 是查找的返回值所在區(qū)域,是傭金比例表的第二和第三列
- 2 是查找區(qū)域的第二列,也就是返回傭金比例所在的列
- 最后一個參數(shù)設(shè)置為 TRUE(可省略),是讓 VLOOKUP 查找近似匹配
這里要注意,使用近似匹配查找,查找區(qū)域的第一列必須按升序(從低到高)排列。這也是為什么開始設(shè)置傭金比例參數(shù)是要按從低到高排序了。
示例 1 的結(jié)論
首先,當(dāng)只有一個條件時(如只根據(jù)銷售額),使用 VLOOKUP 更容易編寫公式,且比嵌套 IF 公式短很多,也更便于閱讀。其次,如果在傭金結(jié)構(gòu)中添加或刪除一個層級,雖然這是表中的簡單操作,但對于嵌套的 IF 公式來說,它要復(fù)雜得多。因此,這里使用 VLOOKUP 的優(yōu)勢很明顯。
示例 2
例如,要根據(jù)測量的血壓情況來確定血壓水平的級別。下圖中,上邊的表是測量血壓的數(shù)據(jù),下面的表是分級表,其中后兩列是對血壓值的定義及分級。前三列是為了編寫計算公式而特別添加的參數(shù)。
計算血壓分級的邏輯是,“正常”級別是同時滿足高壓(收縮壓)<140,低壓(舒張壓)<90;其余 3 個級別都是滿足其中一項條件,就可確定為對應(yīng)的級別。如高壓 145,低壓 80,高壓值 145 在 1 級的收縮壓 140~159 范圍內(nèi),就確定為 1 級。
因此根據(jù)上圖的條件,用嵌套 IF 編寫的公式如下:
=IF(OR(E3>=180,F3>=110),"3級",IF(OR(E3>=160,F3>=100),"2級",IF(OR(E3>=140,F3>=90),"1級",IF(OR(E3>=120,F3>=80),"正常高值","正常"))))
通過使用 OR 函數(shù),可以在每個 IF 函數(shù)的判斷兩個或多個不同的條件,如果其中一個 OR 參數(shù)的計算結(jié)果為 TRUE,則返回 TRUE。
從高到低的順序檢查 3-1 級,剩下的就都是正常級別。
再來看下用 VLOOKUP 的公式
=VLOOKUP(MAX(VLOOKUP(E3,$J$3:$L$7,3),VLOOKUP(F3,$K$3:$L$7,2)),$L$3:$M$7,2,FALSE)
先用兩個 VLOOKUP 分別查找近似匹配高、低壓對應(yīng)的編號,借助 MAX 函數(shù)返回兩個編號中最大數(shù)值的編號,最外層 VLOOKUP 的查找精確匹配編號,并返回對應(yīng)的分級。
示例 2 的結(jié)論
首先,當(dāng)有兩個條件時,在編寫公式的難易程度上用嵌套 IF 要比 VLOOKUP 更容易些,且更符合邏輯。其次,嵌套 IF 語句不需要輔助參數(shù)就可完成公式,而 VLOOKUP 需要提前設(shè)置好輔助參數(shù)。因此,這里使用嵌套的 IF 語句要更靈活。
總結(jié)
當(dāng)僅一個條件時,應(yīng)當(dāng)使用 VLOOKUP
在兩個或更多條件時,可考慮嵌套 IF 語句(在沒有更好的替代方案時)
這個是血壓跟蹤表的全貌,其中狀態(tài)一列是使用的嵌套 IF 語句。如果對這方面有需要的可以做下參考。(里面的血壓數(shù)據(jù)是函數(shù)隨機生成的,別當(dāng)真的哦)
相關(guān)文章
Excel中的嵌套IF函數(shù)怎么用? 具有多個條件的公式IF用法
嵌套 IF 語句的最大優(yōu)點是,它可以在一個公式中檢查多個條件,并根據(jù)這些檢查的結(jié)果返回不同的值,該怎么使用?詳細(xì)請看下文介紹2025-01-18INDIRECT函數(shù)用過嗎? 文本引用轉(zhuǎn)換神器Excel INDIRECT函數(shù)詳解
文本引用轉(zhuǎn)換神器INDIRECT函數(shù)你用過嗎?Excel 中的 INDIRECT 函數(shù)是將文本字符串轉(zhuǎn)換為有效的引用,并立即對引用進(jìn)行計算,顯示其內(nèi)容,下面我們就來看看詳細(xì)使用方法2025-01-17看完這篇XLOOKUP算是通透了! 7個excel XLOOKUP函數(shù)的用法合集
我們工作中經(jīng)常會用到查找函數(shù),今天給大家講解7種XLOOKUP常見的用法,學(xué)會這篇,對于XLOOKUP就了解通透了2025-01-17自動擴展表格區(qū)域! excel新函數(shù)EXPAND來了
Excel 2024新增的EXPAND函數(shù),用于將數(shù)組擴展到指定的行和列尺寸,并指定填充值,下面我們就來看看新函數(shù)EXPAND的用法2025-01-15你真的了解IF函數(shù)嗎? 一文讀懂excel中IF函數(shù)的深度解析
在Excel的眾多函數(shù)中,IF函數(shù)無疑是最基礎(chǔ)也是應(yīng)用最廣泛的一個,但是很多人都不懂if函數(shù),下面我們深度解析一下2025-01-10看完這一篇XLOOKUP算是通透了! excel中XLOOKUP函數(shù)經(jīng)典用法總結(jié)
excel中Xlookup公式可以輕松解決我們工作中的各種查找匹配問題,今天總結(jié)了12個XLOOKUP函數(shù)經(jīng)典用法,可以直接套用2025-01-10excel怎么快速提取字符? excel表格僅提取字符的幾種函數(shù)公式
excel表格有文字、數(shù)字、字符,想要快速將字符提取出來,有哪些函數(shù)公式可以實現(xiàn)呢?詳細(xì)請看下文介紹2025-01-10Excel中關(guān)于MAX和MIN函數(shù)的這些特殊應(yīng)用你知道嗎?
說到函數(shù)MAX和MIN了基本應(yīng)用,你們可能還不知道函數(shù)MAX和MIN還有一些不一樣的應(yīng)用技巧,詳細(xì)請看下文介紹2025-01-05數(shù)據(jù)分析入門! Excel中min和max函數(shù)那些鮮為人知的用法
在EXCEL表格中,MAX函數(shù)是求取最大值的,MIN函數(shù)是求取最小值的,但今天,我們重點來看看函數(shù)MAX和MIN具體都有哪些讓人意想不到的應(yīng)用技巧2025-01-03Excel跨數(shù)據(jù)表求和indirect函數(shù)怎么用?
Excel表格中實現(xiàn)跨數(shù)據(jù)表求和的方法很多,今天我們就來看看indirect函數(shù)的用法,詳細(xì)請看下文實例教程2025-01-03