有N個月的工資表,需要合并到一個表格中
我們可以用合并計算、透視表、power query來完成多表合并,但合并計算無法隨數(shù)據(jù)變化而更新,新增表也無法更新。而透視表或power query需要每次點刷新才能更新數(shù)據(jù)。所以。。。用Vlookup公式是最好的選擇。
昨天蘭色發(fā)一個視頻,因為時間關(guān)系,只能跳過一些細節(jié)步驟。于是很多同學說覺得很牛,但不理解。(看后記得幫蘭色雙擊屏幕點點小紅心哦)
所以,蘭色決定今天發(fā)一篇圖文教程細講一下公式的設(shè)置原理。
公式是這樣的:
=IFERROR(VLOOKUP($A2,INDIRECT(B$1&'!A:B'),2,0),'')
首先,如果只是從1月表中查找,公式估計都會設(shè)置。
=VLOOKUP(A2,'1月'!A:B,2,0)
問題的關(guān)鍵在于,如何向右復制時,表名1月如何變成2月...3月?直接復制依然是1月...1月。
其實我們可以利用第一行的標題,如果讓標題連接!A:B列,不就可以變了嗎?
=B1&'!$A:$B'
但你把它套進公式里,卻發(fā)現(xiàn)并不會返回你想要的值,而是返回了錯誤值。
=VLOOKUP($A2,B1&'!$A:$B',2,0)
原因是,用&連接后的是字符串,并不是單元格引用。就如你在單元格中輸入
='A'&1 并不能把A1的值提取出來,只是顯示字符串A1
要想把字符串轉(zhuǎn)換為引用,有一個函數(shù)可以做到,它就是indirect函數(shù)。
=INDIRECT('A'&1)
回到我們的VLOOKUP函數(shù)中,也可以用indirect把字符串轉(zhuǎn)換為引用:
=VLOOKUP($A2,INDIRECT(B$1&'!$A:$B'),2,0)
最后再用iferror函數(shù)把查找不到返回的錯誤值轉(zhuǎn)換為空,公式設(shè)置完成。
=IFERROR(VLOOKUP($A2,INDIRECT(B$1&'!$A:$B'),2,0),'')
蘭色說:Indirect函數(shù)在多表合并、動態(tài)查詢中有著廣泛的應用。本周六蘭色將在視頻號直播間講解多表合并、匯總。會涉及多indirect函數(shù)的用法。如果想學習更多可以點下面預約按鈕預約了。
聯(lián)系客服