剛進惠普時,我的老板告訴我:“如果你不學這個Vlookup函數(shù),那么加班就是必然。”這對于當時Excel水平還停留在“Excel是三大辦公軟件之一”的我來說是有多么震撼。現(xiàn)在想來,Boss當時的話雖然有點夸張,但也不無道理。正是因為這句話,我才一直堅持努力學習Excel各方面的知識,也才有了今天的水平。現(xiàn)在我來分享一下我當時學習的一些心得。
如果你學不會這個技巧,那么加班就是必然
在我的工作中,經(jīng)常需要將一個表格里的內(nèi)容匯總到另一個表格(總表)里去,例如下圖(非本人工作中的例子)中,我們需要將F列 中的數(shù)學成績填入到C列中去,兩列的人名并不一一對應(yīng):
接到這個任務(wù),我是這樣做的:用A列的人名到E列中去搜,搜到過后再Copy對應(yīng)的數(shù)學成績到C列。
我就這樣逐條查找然后復(fù)制粘貼,每次收到類似任務(wù)都花了不少的時間。最近因為這個事情已經(jīng)加了不少班,有時候收到的表格上百上千條數(shù)據(jù),真是復(fù)制粘貼到想吐。可是我花費幾個小時才搞定的事情,我老板用下面的方法30s就搞定了:
我那時真心覺得,我的老板簡直是太厲害了。我后面在學習的過程中對這個函數(shù)越來越鐘愛,現(xiàn)在幾乎是每天不用它心里都癢癢。怪不得這個函數(shù)曾被人戲稱為“大眾情人”。還是上面的例子,我現(xiàn)在簡單地說一下這個函數(shù):Vlookup共有4個參數(shù),也就是說我們需要告訴4個事情,它才能把相應(yīng)的結(jié)果告訴我們。那么我們要告訴給Vlookup哪4件事情呢?
1.lookup value:我們用什么去查找?例如我們需要聶倩的數(shù)學成績,因此我們可以通過“聶倩”去查找;
2.Table Array:到哪里去查找?我們要知道數(shù)學成績,數(shù)學成績在哪個表,我們就去哪里找。因此我們在E列和F列中去找。
3.Col-index-column:你想要返回哪一列的值?我們通過“聶倩”在E列中去查找,知道了聶倩在E列中的位置,但是我們得到的是聶倩的數(shù)學成績,因此我們就要告訴Excel,數(shù)學成績在“聶倩”這個右邊的第幾列。現(xiàn)在我們從聶倩(從左)數(shù)到數(shù)學成績(往右),1,2。數(shù)學成績就在第2列,因此第三個參數(shù)為2。
4.lookup range:你的查找方式是什么?精確查找(E列和F列構(gòu)成的區(qū)域中一定有一個名字叫聶倩,Excel才會返回正確結(jié)果)還是近似查找(如果E列或者F列中沒有叫聶倩的,但有一個叫聶小倩的,也可以被找出來)。到底是精確查找還是近似查找,我們用0和1來表示,0就是精確,1就是近似。此例中為精確匹配。
此栗子的公式為“=vlookup($A2,$E$2:$F$27,2,0)"
關(guān)于單元格的引用的技巧
單元格引用有相對引用、絕對應(yīng)用以及混合引用。所謂引用,指的是在公式的拖拽中,單元格的位置是否變化。
1.相對引用
一句話概括,引用單元格的地址可能會發(fā)生變動。可能大家不理解,其實就是基于包含公式和單元格引用的單元格的相對位置。如果公式所在單元格的位置改變,引用也隨之改變。如果多行或多列地復(fù)制公式,引用會自動調(diào)整。在默認的情況下,新公式使用的是相對引用。
例如,B2單元格公式為=A1,將B2單元格的相對引用復(fù)制到B3,則會自動從=A1調(diào)整為=A2。
2.絕對引用
引用的單元格地址不可能會發(fā)生變動。也就是說,總是在指定位置引用單元格,如果公式所在單元格的位置改變,絕對引用保持不變。如果多行或多列地復(fù)制公式,絕對引用將不作調(diào)整。
例如,將B2單元格的絕對引用復(fù)制到B3,那么兩個單元格都是$A$1.
3.混合引用
分為列絕對,行相對和行絕對,列相對這兩種情況。
列絕對,行相對:復(fù)制公式時,列標不會發(fā)生變化,行號會發(fā)生變化,單元格地址的列標前添加$符號,如$A1,$C10,$B1:$B4。
行絕對,列相對:復(fù)制公式時,行號不會發(fā)生變化,列標會發(fā)生變化,單元格地址的行號前添加$符號,如A$1,C$10,B$1:B$4。
"$"在行號前,行不變,在列號前,列不變。可自己輸入,也可按住選中單元格名稱后按F4調(diào)整。
精確查找的技巧
在V LOOKUP函數(shù)里,通常lookup value為混合引用的固定列,table array是固定的。col-index-column,要么為常量,要么使用match函數(shù)或者其他函數(shù)確定;第四個參數(shù)為0,即為精確查找,lookup value必須在查找范圍內(nèi)必須存在。
1.請從表3中查詢內(nèi)容并填充到表1的黃色單元格;在寫公式的話,要充分考慮公式的復(fù)制問題。
=VLOOKUP($B8,$L$16:$Q$49,MATCH(C$7,$L$15:$Q$15,0),0)
1)lookup value:C8:D27的值都是通過B列的值查找出來的,因此當公式復(fù)制時,列不能動
2)Table Array:查找的值永遠都在表3里,因此,table array需要完全固定;
3)Col-index-column:需要填充的列,通過match函數(shù)來確定,match函數(shù)是專門用來確定某個單元格在某一列或者行的中位置的函數(shù),這個函數(shù)有3個函數(shù),(查找值,查找范圍,精確還是近似),本例中,需要知道的是C7這個標題在L15:Q15標題行中從左至右數(shù)是第幾個。
4)第四個參數(shù)為“0”時,表示是精確查找,即lookup value在查找范圍內(nèi)必須要存在。
請看操作:
2.請從表2中查詢內(nèi)容并填充到表1的綠色單元格。
1)所有空白單元格都需要在表2中查詢到相應(yīng)的值然后填充;
2)通過定位功能來選定需要填充公式的單元格;
3)所有的值都需要通過客戶編號查找出來的,因此B2單元格需要絕對引用;
4)match函數(shù)中的lookup value不能鎖定,因為需要向右向下復(fù)制;
近似查找的技巧
在下列表格中,需要根據(jù)成績等次表來判斷每個人的分數(shù)屬于哪個等次。凡是涉及評級的查詢,用vlookup的近似查找。
V LOOKUP函數(shù)總結(jié)
1.lookup value必須在查詢范圍的最左邊列;
2.lookup value不能從左往右查詢,通常情況下無法反向查詢(使用數(shù)組可以實現(xiàn));
3.如果lookup列中的單元格內(nèi)容有空格,一定要去掉,否則會出現(xiàn)錯誤;
4.數(shù)據(jù)類型一定要統(tǒng)一;