個人微信號 | (ID:LiRuiExcel520)
微信服務(wù)號 | 跟李銳學(xué)Excel(ID:LiRuiExcel)
微信公眾號 | Excel函數(shù)與公式(ID:ExcelLiRui)
Excel查找引用函數(shù)VLOOKUP很多人都用過吧,但大家都是用它查詢數(shù)據(jù),它還有一種秘密功能,你知道嗎?
今天要講的就是VLOOKUP不為人知的秘密技術(shù),按要求自動生成符合要求的數(shù)據(jù),幫助我們自動排布數(shù)據(jù),比如生成自動排班表。
下面案例是某企業(yè)的值班安排表,里面包含了值班員工姓名和安排好的值班天數(shù)。
統(tǒng)計要求如下:
1、根據(jù)左側(cè)的值班安排表,在右側(cè)自動生成每天的值班員工列表;
動圖演示如下圖所示。
黃色區(qū)域的數(shù)據(jù)都是用公式自動計算生成的,這里用的就是VLOOKUP函數(shù)。
你肯定好奇這是怎么實現(xiàn)的?下文分解。
構(gòu)建思路:
首先咱們一起來構(gòu)建一下思路,當(dāng)前案例要求按姓名和值班次數(shù)生成每日值班表,目前的數(shù)據(jù)源還缺少什么?
這就自然想到了數(shù)據(jù)源中已有值班姓名和值班天數(shù),還缺少對應(yīng)關(guān)系,即沒有哪個日期對應(yīng)哪個值班姓名,如果有了這個就可以直接查找調(diào)用了。
到這一步時,你會發(fā)現(xiàn)現(xiàn)有條件無法支持直接得到每個日期和對應(yīng)姓名,那么我們可以換個思路,使用倒推法,退而求其次,繼續(xù)想,根據(jù)現(xiàn)有條件能統(tǒng)計到什么?
從這個現(xiàn)有條件,我們雖然不能知道每個員工的值班開始天數(shù),但是能統(tǒng)計到每個員工的值班截止天數(shù),比如李銳1值班到第5天,李銳2值班到第7天(5+2=7),李銳3值班到第9天(5+2+2=9),......李銳5值班到第15天。
好了,思路來了,我們可以按照員工最后值班的天數(shù)查找對應(yīng)的值班姓名,當(dāng)然,前提是數(shù)據(jù)源中包含這個每人值班截止天數(shù)的信息,加個輔助列即可
在原始數(shù)據(jù)左側(cè)插入列,用于標(biāo)識每人的值班截止天數(shù),在B2單元格輸入以下公式。
=SUM(C$2:C2)
(下圖為輔助列公式)
一句話解析:
用SUM函數(shù)配合混合引用生成值班天數(shù)的累加值,即每個人值班的截止天數(shù)。
現(xiàn)在好了,有了這個輔助列,我們就可以在右側(cè)的對應(yīng)天數(shù)是5/7/9/10/15時直接VLOOKUP調(diào)取對應(yīng)的員工姓名了。
那么現(xiàn)在還差中間的那些天數(shù),如何查找對應(yīng)姓名呢?繼續(xù)看下面的解決方案。
解決方案:
先接著上一節(jié)思路把第15天值班的當(dāng)值員工姓名用公式查找出來,后面再順藤摸瓜就輕松多了。
在F15單元格輸入以下公式,向上填充公式到F2單元格。
=IFERROR(VLOOKUP(E16,$A$2:$C$6,2,),F17)
注意,這里為了讓你更容易理解,所以先在下方寫公式,然后向上填充,效果如下圖所示。
在F16的單元格VLOOKUP第一參數(shù)是15,肯定可以找得到左側(cè)15對應(yīng)的姓名是李銳5,那么F15的單元格呢?
F15單元格VLOOKUP第一參數(shù)是14,肯定找不到,會返回錯誤值,再次用IFERROR函數(shù)返回當(dāng)前單元格下方的數(shù)據(jù)。
一句話解析:
由于下方的第15天值班姓名已經(jīng)出來了,所以只要第14天從左側(cè)沒有找到對應(yīng)姓名,說明還是這個人值班,所以從當(dāng)前公式所在單元格的下方單元格取值就行了。這個思路非常巧妙,你如果一下沒懂請回顧上方說明,順著我的思路再次突破下自己的思維壁壘。
理解后,我們再價格容錯判斷,形成最終公式。
在F2單元格輸入以下公式,并向下填充。
=IF(E2>MAX($A$2:$A$6),"",IFERROR(VLOOKUP(E2,$A$2:$C$6,2,),F3))
一句話解析:
先用IF判斷將可能返回0的結(jié)果返回空,再利用倒推法使用VLOOKUP查找,生成所需的每日值班人員列表。
此案例公式雖然并不復(fù)雜,但思路頗為精妙,如若能完全理解,將會對你的功力提升大有裨益,如一時不能參透也屬正常,可以先收藏起來日后再看。
如果想全面、系統(tǒng)體系化提升Excel函數(shù)公式技術(shù),別錯過下面幾套超清視頻系列課↓
聯(lián)系客服