哈嘍,大家好呀~
今天來給大家分享一個多條件判斷的問題,利用的是VLOOKUP的第四參數, 模糊匹配。
如下圖所示,A列為員工姓名,B列為員工年齡,C列為要計算的員工年齡段。
根據公司要求,需要將員工的年齡段具體劃分為:1 8 -2 0 歲,2 1-25 歲,2 6 - 30 歲, 31-35 歲,3 6-40 歲,4 1 - 45 歲, 46 - 50 歲,5 1 - 55 歲,5 6 - 60 歲,共計9個年齡段。
新手一般使用IF函式進行層層巢狀。
=IF(AND(B2>=18,B2<=20),"18-20歲",if(and(b2>=21,B2<=25),"21-25歲",if(and(b2>=26,B2<=30),"26-30歲",if(and(b2>=31,B2<=35),"31-35歲",if(and(b2>=36,B2<=40),"36-40歲",if(and(b2>=41,B2<=45),"41-45歲",if(and(b2>=46,B2<=50),"46-50歲",if(and(b2>=51,B2<=55),"51-55歲","56-60歲< span="">"))))))))
別說寫這個公式,是不是看到它,就讓人絕望?
IF函式的難點: 巢狀的層數太多 ,極易出錯。
那麽,有沒有什麽函式,能夠高效地解決這個問題呢?
當然有了!答案就是那個人見人愛、花見花開的函式界的「大眾情人」——VLOOKUP函式。
更確切地說,應該是VLOOKUP函式的模糊查詢功能。
只需要在C2中輸入 「=VLOOKUP(B2,E:F,2,1)」即可。
下面,大家就來具體學習一下公式VLOOKUP模糊查詢功。
關於模糊查詢,有一個很簡單但是很重要的概念: 查詢小於等於某值的最大值。
這就好比是,如果有重要的賓客來公司存取,在理論上應由公司一把手接待,如果一把手在的話,則由他接待;如果偏巧一把手不在的話,那麽應由職位上小於等於一把手的那個領導——也就是公司二把手接待。
「老大在家找老大,老大不在找老二」。
對模糊查詢的概念有了理解之後,接下來,就該研究研究如何操作了。
熟悉VLOOKUP函式的小夥伴們都知道,VLOOKUP函式的第一參數,是查詢值,在本例中,即為B列中的員工年齡;
VLOOKUP的第四參數,是查詢方式, 其為0時,是精確查詢 , 其為1時,是模糊查詢 ,本例中我們使用的是就是模糊查詢功能,所以第四參數為1。
現在,四個參數就已經確定了兩個。接下來,大家來看一下第二、第三參數應該是什麽?
大家知道,VLOOKUP函式的第二參數是查詢區域,而第三參數是返回值在查詢區域中的列序號。
筆者構建了一個查詢區域,如下圖中E列、F列所示。
E列中的數據為分段點,它的值,分別是各個年齡段的起始值。
下面,大家再從各個員工年齡的角度,來看一下構造出的查詢區域和VLOOKUP函式之間的關系,如下圖所示。
假設大家要尋找的員工年齡是18歲,那麽尋找的是小於等於18的最大值,即為18,亦即實際尋找值為18,則對應的年齡段是18-20歲;假設我們要查詢的員工年齡是19歲,那麽查詢的是小於等於19的最大值,即為18,亦即實際尋找值為18,則對應的年齡段是18-20歲;其余以此類推。
好了,弄清模糊查詢的邏輯和查詢區域的構建方法之後,接下來,大家只要寫一下VLOOKUP函式的公式就行了。
在C2中輸入 「=VLOOKUP(B2,E:F,2,1)」,然後下拉復制填充,即可得到員工的年齡段,如下圖所示。
這樣,透過VLOOKUP函式,就輕松地解決了小張面臨的問題。而且采用這種方式,不僅寫函式的時候輕松,而且函式的擴充套件性非常好。例如,假設公司中的員工有61-65歲的員工,如果想要對他進行年齡段判斷的話,只需要再加增加一個新的分段點和對應的年齡段即可(函式不用動),如下圖所示。
VLOOKUP函式的模糊查詢功能是對數值型數據進行分段的一個非常重要的函式,它廣泛地套用於賬齡、工齡、年齡、成績、銷售數量、銷售金額、天數等數值型數據的分段問題中。
最後,再給大家留一個小小的練習作業:請用VLOOKUP函式的模糊查詢,來計算月份對應的季度。答案就提前公布在下方了,小夥伴們,趕快來練習一下吧!
粉絲福利:0元課程,掃碼領取學習