原創作者: 盧子 轉自: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)
如果一時半會理解不了公式,建議收藏起來,這個公式經常會用到。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!