原文標(biāo)題:《吊打 PowerQuery,氣走 VBA,史上最簡單的多表合并公式來了!》
Excel 一個(gè)工作簿中可以存放多張工作表。
比如分月分表登記工資明細(xì) ??
又或者多部門的登記,也是一張工作表登記一個(gè)部門發(fā)生的所有業(yè)務(wù)等等。
這些在工作中數(shù)不勝數(shù)。
很多人以為這樣能夠清晰明了的反映和查看數(shù)據(jù),但實(shí)際上,卻是給后續(xù)數(shù)據(jù)統(tǒng)計(jì)分析帶來麻煩。
那么,如果想把所有工作表數(shù)據(jù)合并到一起,除了復(fù)制粘貼,還有什么更快的方法嗎?
下面就給大家介紹 2 個(gè)技巧,小白也很容易上手哦!
這個(gè)函數(shù)的優(yōu)點(diǎn)是:用起來非常簡單,而且即使原始數(shù)據(jù)有增減變化,也能輕松引用。
缺點(diǎn)是:非 Office 365 版本和 WPS 無法使用。
它的語法如下:
只用一個(gè)參數(shù),就能合并多表。
比如我們?cè)凇緟R總表】的【A1】單元格中輸入如下公式:
=VSTACK('1月12月'$A$1$D$7)
公式的意思是:依次將工作表【1 月】至【12 月】中的【A1:D7】單元格區(qū)域垂直堆放在一起。
如下圖所示:
這樣就將 12 張工作表中的工資數(shù)據(jù)匯總在一起了。
當(dāng)然,也可以先把表頭寫好,然后從每張工作表的【A2】單元格開始引用。
公式改成:
=VSTACK('1月:12月'!A2:D7)
PS:這個(gè)方法有一個(gè)小小的缺點(diǎn),就是如果引用的區(qū)域中沒有數(shù)據(jù),將會(huì)以 0 值來填充。
比如:在【2 月】工作表中,第七行中并沒有任何數(shù)據(jù)。
我們引用了每一張工作表中的【A2:D7】之后:
匯總表中缺少數(shù)據(jù)的單元格,會(huì)顯示為 0。
TOCOL 也是 Office 365 和 WPS 才能使用的函數(shù)。
它的語法如下:
意思是:可以將多行多列轉(zhuǎn)換成一列形式。
如下圖:
在【匯總表】的【A2】單元格中輸入如下公式:
=TOCOL('1月:12月'!A2:A7)
即可將工作表【1 月】至【12 月】的【A2:A7】單元格區(qū)域按列排列在一起。
然后將公式向右拖動(dòng),復(fù)制到【D2】單元格,就能完成多表合并。
是不是非常簡單?
PS:相比 VSTACK,TOCOL 可以忽略空白單元格,只顯示有數(shù)據(jù)的內(nèi)容。
比如下圖中的 0:
如果不想讓它出現(xiàn)在表格中,只需要將公式改成 ↓
=TOCOL('1月12月'A2:A7,1)
公式中的第二參數(shù):1,就起到了忽略空白單元格的作用。
今天與大家分享了 2 種多表合并的方法。
? VSTACK 函數(shù)。
? TOCOL 函數(shù)。
除此之外,還可以用 PowerQuery 和 VBA 來進(jìn)行多表合并。
本文來自微信公眾號(hào):秋葉 Excel (ID:excel100),作者:明鏡在心
聯(lián)系客服