Excel表格vlookup函式精確查詢(Excel怎麼利用vlookup精確查詢)
原創作者: 盧子 轉自:Excel不加班
昨天分享了全年12個工作表彙總,今天分享全年12個工作表查詢。同樣,盧子按兩種形式進行說明。
1.工作表的格式一樣,銷售金額都在B列,現在要查詢每個商品的銷售金額。
稍微有點基礎的,採用VLOOKUP函式這種用法。
=VLOOKUP(A2,'1月'!A:B,2,0)
2月、3月……12月,依次更改VLOOKUP函式的第二引數。
=VLOOKUP(A2,'2月'!A:B,2,0)
=VLOOKUP(A2,'3月'!A:B,2,0)
……
=VLOOKUP(A2,'12月'!A:B,2,0)
這種雖然可以解決問題,但是需要修改10多次,很容易改錯。
而盧子卻採用了另外的方法,每個工作表名稱都列出來了,其實可以藉助INDIRECT函式的間接引用。
=VLOOKUP($A2,INDIRECT(B$1&"!A:B"),2,0)
空調在某些月份沒有對應值,顯示錯誤值#N/A,可以巢狀函式IFERROR,讓錯誤值顯示0。
=IFERROR(VLOOKUP($A2,INDIRECT(B$1&"!A:B"),2,0),0)
2.工作表的格式不同,銷售金額的列數不確定,現在要查詢每個商品的銷售金額。
1月的銷售金額在C列。
2月的銷售金額在D列。
其他就不依次截圖,反正就是列數不確定。
有不少讀者做表就非常隨意,這個月覺得好像記錄得不全面就增加幾列,下個月覺得好像沒必要記錄這些又刪除一些列,最後表格一團糟。
這樣的表格還有救嗎?
還好,有MATCH函式可以自動識別出銷售金額在第幾列。
=MATCH("銷售金額",$1:$1,0)
將MATCH函式作為VLOOKUP函式的第三引數,原來的區域再修改大點即可解決問題。
=IFERROR(VLOOKUP($A2,INDIRECT(B$1&"!A:Z"),MATCH("銷售金額",INDIRECT(B$1&"!1:1"),0),0),0)
如果一時半會理解不了公式,建議收藏起來,這個公式經常會用到。