|
本文作者丨大表弟 - Excel 研究院 本文由「秋葉 Excel」原創(chuàng)發(fā)布 IF 函數(shù)是大家較為熟知,也是日常工作中使用頻率較高的函數(shù)之一,它通常適合用來進(jìn)行一些簡單的條件判斷,并返回相應(yīng)的結(jié)果,其語法如下: 比如:老板限定每月辦公耗材費(fèi)預(yù)算是 5000 元,我們需要在 D 列單元判斷每月的費(fèi)用是否超預(yù)算,可以在 D2 單元格寫出以下公式: 又比如,我們需要在 D 列單元格判斷學(xué)生的考試成績是否及格(及格標(biāo)準(zhǔn)通常為:大于等于 60 分),我們可以在 D11 單元格寫出以下公式: 以上的兩個例子有一個共同點(diǎn):判斷條件比較簡單,只有一個判別依據(jù),要么成立,要么就不成立。 如果判斷條件增多,邏輯關(guān)系更加復(fù)雜時,可以借助多個 IF 函數(shù)嵌套使用的方式來組織公式,但此時寫出的公式會顯得冗長、繁瑣且不便于編輯。 還是以學(xué)生成績?yōu)槔?,現(xiàn)在我們要根據(jù)成績劃分等級:小于 60 分的為 E,60-70 分(包括 60,下同)為 D,70-80 分為 C,80-90 為 B,90 以上為 A。這種情況下的 IF 公式可能是這樣的: 這個公式嵌套使用了四個 IF 函數(shù),才將五種可能情況的判斷全部包含在內(nèi),這個公式顯然就比較復(fù)雜,無論是寫出來還是檢查,都很麻煩。因此我們通常認(rèn)為 IF 函數(shù)只適合用來進(jìn)行一些簡單的條件判斷。 那么像這種復(fù)雜的條件判斷,更好的解決方案是什么呢? - 1 - 解決思路 ? 條件列表 我們把所有的條件以及對應(yīng)的取值,列成一張表,這樣可以清晰明了地知道兩者間的關(guān)系,也更為直觀。 ?觀察分析 將判斷條件列成表以后,我們就很容易發(fā)現(xiàn)它們之間都有一個共同特征:每一個取值(本例為等級)都對應(yīng)著一個數(shù)字區(qū)間,這些數(shù)字區(qū)間包含了分?jǐn)?shù)的所有可能取值,并且這些數(shù)字區(qū)間有一個很顯著的特點(diǎn)——大于等于較小的數(shù),小于較大的數(shù)(最后一個最大的數(shù)(本例為 90),只要大于等于就行)。 這種情況下,我們就能用 VLOOKUP 函數(shù)來替代 IF 函數(shù)。 常見的 VLOOKUP 函數(shù)有兩種用法,一種是精確查找,比如通過姓名查找相對應(yīng)的成績,這種用法叫 VLOOKUP 的精確查找模式,大家注意到它的第四個參數(shù)為 0,在這種模式下,如果查找的姓名存在,則返回相應(yīng)的分?jǐn)?shù),如果要查找的姓名不存在,則返回錯誤值 #N/A。 另一種是區(qū)間查找(近似查找),用于判斷數(shù)字是否落在某個特定的區(qū)間。如圖所示,這種類型的第四個參數(shù)為 1,表示查找的是近似值。以 E3 單元格中的公式為例:
這個公式表示要在 $G$2:$H$6 中查找分?jǐn)?shù) 64,并取得對應(yīng)的等級,可是$G$2:$G$6 中并沒有 64,但是函數(shù)卻依舊能取得其對應(yīng)的等級為 D。 這種方式就是 VLOOKUP 函數(shù)的區(qū)間查詢方式。 ?建立輔助匹配表 本案例中,我們需要利用 VLOOKUP 函數(shù)的區(qū)間查詢功能來實(shí)現(xiàn)目標(biāo)。這就需要建立一個輔助匹配表,來對分?jǐn)?shù)進(jìn)行近似匹配,從而得到相應(yīng)的等級。 輔助表的制作并不難,以上圖為例,只要將「分?jǐn)?shù)區(qū)間」列中的臨界數(shù)字,填到「分?jǐn)?shù)臨界點(diǎn)」單元格里,再把對應(yīng)的等級復(fù)制過去即可。 - 2 - 解決方案 到此,利用 VLOOKUP 函數(shù)解決多條件判斷問題的基礎(chǔ)工作已經(jīng)完成?,F(xiàn)在就可用 VLOOKUP 函數(shù)來查找分?jǐn)?shù)對應(yīng)的等級了,函數(shù)公式如下:
公式中有四個參數(shù),分別的含義如下:
大家都學(xué)會嗎?以后遇到物流根據(jù)重量來計(jì)算運(yùn)費(fèi)、根據(jù)消費(fèi)額度多少來算折扣、根據(jù)充值額度多少來定會員等級等等此類多條件判斷問題,你還要 IF、 IF、IF 下去嗎? |
|
|