excel教案
現在一起來學習vlookup函式,讓關於查詢的煩惱一次全解決!
1、根據番號精確查詢俗稱。
=vlookup(d2,a:b,2,0)
vlookup函式語法:
=vlookup(查詢值,查詢區域,返回查詢區域第n列,查詢模式)
vlookup函式示意圖。
2、遮蔽錯誤值錯誤值查詢。
=vlookup(d2,a:b,2,0)
vlookup函式如果查詢不到對應值會顯示錯誤值#n/a,這個看起來很不美觀。這時可以在外面加個容錯函式iferror,如果是2013版本那就更好,可以用ifna函式,這個是專門處理#n/a這種錯誤值。
=iferror(vlookup(d2,a:b,2,0),"")=ifna(vlookup(d2,a:b,2,0),"")
函式語法:
=iferror(表示式,錯誤值要顯示的結果)
說白了就是將錯誤值顯示成你想要的結果,不是錯誤值就返回原來的值。ifna函式的作用也是一樣,只是iferror函式是針對所有錯誤值,而ifna函式只針對#n/a。
3、按順序返回多列對應值。
通過上面的例子,我們知道可以通過更改第3引數,返回各項對應值如:
=vlookup($a13,$a$1:$f$10,2,0)=vlookup($a13,$a$1:$f$10,3,0)
如果專案少,更改幾次引數也沒什麼,但專案多時,肯定不方便。如圖 5103所示,可以通過row、column產生行列號,從而得到1,2,……,n的值。
=vlookup($a13,$a$1:$f$10,column(b1),0)
因為這裡是同一行產生序號,所以用column函式。
4、按不同順序返回對應值。
這回看來只能手動更改第3引數了,column完全派不上用場。
no!每當你覺得操作繁瑣時,就要停下來思考,也許excel本身存在這個功能,只是自己一時想不到或者不知道而已。列號不管千變萬化,在資料來源的位置始終不變,利用這個特點可以去搜尋一下看看有什麼函式可以解決。
在「搜尋函式」文字框輸入:位置,單擊「轉到」按鈕,就會出現跟位置有關的函式,檢視每個函式的說明,找到我們需要的,如match函式,返回符合特定值特定順序的項在陣列中的相應位置,單擊「確定」按鈕。
在彈出的「函式引數對話方塊」中嘗試填寫相應的引數,每個引數的作用下面都有相關說明,填寫後會出現計算結果3,也就是訂單數在區域中是第3列。嘗試下更改第1引數為c12(俗稱),計算結果是2,也就是區域中第2列。經過嘗試,知道這個函式是我們要找的那個函式,單擊「取消」按鈕,返回工作表。
在單元格再做最後一次驗證。
到這一步已經十拿九穩了,將公式設定為:
=vlookup($a13,$a$1:$f$10,match(b$12,$a$1:$f$1,0),0)
5、根據番號逆序俗稱。
幫助提到vlookup函式只能按首列查詢,不能逆向查詢,既然如此,那就得想辦法將非首列的區域轉換成首列。怎麼轉換區域呢,這時if函式就派上用場。一步步來了解if函式的轉換。
看看好友傳遞如何趣聊if函式,吃貨的福音。
if函式其實只有乙個條件來判斷是否符合條件,返回false和true兩種結果。
當菜只有分甜的或鹹的2種口味時,甜味是紅燒肉,鹹味是醬油肉。
盲人吃飯時,看不到是什麼菜。當別人問盲人:「你現在吃的什麼菜? 是鹹的嗎?如果是鹹的,就是醬油肉,如果不是鹹的就是紅燒肉。」(給定判斷條件:鹹味)盲人剛好在吃紅燒肉,於是就咂吧著嘴說:「恩,好吃,不是鹹的!是紅燒肉」(根據提問的要求,不符合鹹的)假如要是盲人當時是在吃醬油肉呢,一定回答;「是的,鹹的,是醬油肉」(條件為真,是!true)。盲人根據口感,結合提問者說的條件,就知道自己吃的是紅燒肉還是醬油肉了。
把這段話用公式來寫:
=if(a1="鹹的",a2,b2)
翻譯:是鹹的嗎?要是(true),就是醬油肉,要是不是鹹的(false),就是甜的紅燒肉。
a1="鹹的"這個條件也可以直接換成true或者false。
=if(true,a2,b2)
因為滿足條件,所以返回a2的對應值醬油肉。
=if(false,a2,b2)
因為不滿足條件,所以返回b2的對應值紅燒肉。
其實true=1,false=0,所以可以直接用1跟0表示。
=if(1,a2,b2)=if(0,a2,b2)
if函式不止可以返回1個單元格的值,也可以返回多個單元格的值。
=if(,a2,b2)=if(,a2,b2)
選擇兩個單元格輸入,按ctrl+shift+enter三鍵結束。條件為,返回a2:b2的對應值順序不變;條件為,返回a2:b2的對應值,順序對換。也就是說通過改變1跟0的位置,可以調換兩單元格的前後位置。
看到這裡,知道if函式通過改變1,0可以調換單元格的順序,如果要改變區域的順序也是可以實現的。
用if函式重新構造的新區域,是多單元格陣列公式,記得按ctrl+shift+enter三鍵結束,否則出錯。
新區域:
=if(,b2:b10,a2:a10)
所以公式可以變成:
=vlookup(a13,新區域,2,0)
兩個公式合併,大功告成。
=vlookup(a13,if(,$b$2:$b$10,$a$2:$a$10),2,0)
6、根據俗稱跟訂單號兩個條件查詢完成情況。
正常情況下vlookup函式是不能多條件查詢,通過if函式的學習,我們知道if函式可以重新構造區域,這裡就再次用if構成乙個區域。
新區域:
=if(,a2:a9&c2:c9,e2:e9)
所以公式可以變成:
=vlookup(a12&b12,新區域,2,0)
兩個公式合併,大功告成,記得按ctrl+shift+enter三鍵結束。
=vlookup(a12&b12,if(,$a$2:$a$9&$c$2:$c$9,$e$2:$e$9),2,0)
7、根據俗稱的第乙個字元查詢番號。
=vlookup(d2&"*",a:b,2,0)
星號(*)是萬用字元,代表所有字元,問號(?)代表乙個字元。d2&"*"就是開頭包含d2的意思。
8、根據區域判斷成績的等級。
借助輔助列的話,很容易查詢等級,只需將vlookup函式的第四引數設定為1或者省略即可。
=vlookup(e2,a:c,3)
如果不用輔助列,估計很多人看到這條公式就得哭了,得結合前面所有函式知識才能完成,有興趣的朋友可以自己去研究。
=vlookup(e2,if(,--left(b$2:b$5,find("-",b$2:b$5)-1),c$2:c$5),2)
前陣子無意間發現了imreal函式,所以不用輔助列的陣列公式可以稍微簡單一點。
=vlookup(e2,if(,imreal(b$2:b$5&"i"),c$2:c$5),2)
imreal函式是計算複數的實部係數的函式,作用就是提取區間的下限。
通過這8個疑難,基本上的查詢問題都能夠解決。
開心嗎?一下搞定8大疑難!
EXCEL中VLOOKUP函式的使用
在 陣列的首列查詢指定的值,並由此返回 陣列當前行中其他列的值。vlookup 中的 v 引數表示垂直方向。當比較值位於需要查詢的資料左邊的一列時,可以使用 vlookup 而不是 hlookup。vlookup lookup value,table array,col index num,rang...
關於excel的vlookup函式使用
今天接到 經理的乙個任務就是在a列的每一行去b列裡面尋找相同的值找到之後返回 vlookup a2,b2 b5,1,0 1的意思就是在b2到b5之間的縱列數返回第一列的資料。0的意思你不用理會,他返回的就是函式的真假關係0代表沒有找到該資料返回0即false 列子1abc 趙六錢七 vlookup ...
excel之VLOOKUP函式的使用
vlookup 函式是excel中比較常用的乙個函式。該函式具有有四個引數 1 查詢值 指本表中的值,需要根據本表中的某一值在本表或其他表中查詢我們想要獲取的值就稱為查詢值。2 資料表 指查詢的範圍。可以在本表或其他表。3 序列數 查詢範圍的中取第幾列是我們想要獲取的值。4 匹配條件 false t...