寫過多篇文章講多表匯總的問題,也涉及多表查詢的問題,現(xiàn)在全部粘貼過來,針對你的情況選擇一種:
Excel版本:2013
在職場中,我們經(jīng)常會碰到分項目存儲到各工作表中,但匯總各工作表數(shù)據(jù)時就比較麻煩,笨辦法就是在匯總表中一個個引用各項目的匯總數(shù)據(jù),如果項目工作表多了,這么操作還是費時費力的。其實我們用INDIRECT函數(shù)可以實現(xiàn)對各工作表數(shù)據(jù)的快速匯總。
具體看GIF演示
Excel多工作表如何匯總,這是職場中經(jīng)常碰到的問題之一。有多種方法可以達到這個效果,今天給大家?guī)硪粋€簡單的操作——合并計算。
合并計算在哪?
在【數(shù)據(jù)】選項卡,【數(shù)據(jù)工具】功能區(qū)。
1、 標(biāo)題一致的多表匯總
分表如下:
各工作表標(biāo)題一致的情況下,首先將光標(biāo)定位在匯總表格的左上角單元格,然后再進行操作。光標(biāo)定位在“引用位置”的文本框中選擇各工作表的表格范圍,然后點擊“添加”?!笆仔小被颉笆琢小备鶕?jù)情況選擇,本例中即要首行的標(biāo)題,也要首列的員工編號,所以都選擇。
最終完成效果如下:
2、標(biāo)題不一致的多表匯總
如我們要將4個月的明細匯總到一個工作表中,各工作表除員工編號標(biāo)題外,其它標(biāo)題不同。
操作方法一致,最終效果如下:
有群友在群里問如何在多個工作表中查詢數(shù)據(jù),當(dāng)時我太忙,沒仔細考慮,只是建議用VLOOKUP+INDIRECT應(yīng)該能解決。等忙完后自己仔細考慮了一下,這兩個函數(shù)結(jié)合其它函數(shù)是可以解決這個問題的,現(xiàn)在將我解決的思路寫出來供大家思考。
=VLOOKUP(A2,LOOKUP(1,0/COUNTIF(INDIRECT({'河北區(qū)';'北京區(qū)';'天津區(qū)'}&'!A:A'),A2),INDIRECT({'河北區(qū)';'北京區(qū)';'天津區(qū)'}&'!A:B')),2,0)
模擬了一些數(shù)據(jù),查詢表中的姓名在三個工作表中的任意一個,需要得到每位員工對應(yīng)的銷售額。
VLOOKUP函數(shù)的用法不再解釋,它由四個參數(shù)組成:
VLOOKUP(要查找的數(shù)據(jù),在哪個區(qū)域查找,返回區(qū)域第幾列,精確匹配或模糊匹配)
這四個參數(shù)中,我們可以解決三個,公式是在查詢表的B2單元格中輸入的。
VLOOKUP(A2,在哪個區(qū)域查找,2,0)
在哪個區(qū)域查找,這個我們是不確定的,有可能是在“=河北區(qū)!A:B”,也有可能是在“=北京區(qū)!A:B”,還有可能是在“=天津區(qū)!A:B”。因為是在三個工作表中,我們不確定這名員工到底在哪個工作表。所以我們需要來確定他在哪個工作表中。
因為姓名都在各工作表中第一列,所以要查找的姓名在三個區(qū)域中,分別為“=河北區(qū)!A:A”、 “=北京區(qū)!A:A”、 “=天津區(qū)!A:A”。
如果查找員工有沒有在某一個工作表中,我們可以用COUNTIF來查找,如果結(jié)果等于1,代表這個工作表中有這名員工,如果等于0則代表這個工作表中沒有這名員工。但現(xiàn)在我們需要在三個工作表中查找,可以用INDIRECT函數(shù)來引用。
所以可以編輯公式:COUNTIF(INDIRECT({'河北區(qū)';'北京區(qū)';'天津區(qū)'}&'!A:A'),A2),它返回由1和0組成的數(shù)組,如{1;0;0},這個結(jié)果代表員工在河北區(qū)。
我們知道1在什么位置就是哪個工作表,但是EXCEL不知道,所以我們得讓它知道1所以位置對應(yīng)的工作表。
此時我們用到LOOKUP(1,0/數(shù)組或公式結(jié)果為數(shù)組,返回結(jié)果的區(qū)域或數(shù)組)這種經(jīng)典的用法,公式如下:
LOOKUP(1,0/COUNTIF(INDIRECT({'河北區(qū)';'北京區(qū)';'天津區(qū)'}&'!A:A'),A2),INDIRECT({'河北區(qū)';'北京區(qū)';'天津區(qū)'}&'!A:B'))
這樣就能得到姓名所在的區(qū)域,例如 “河北區(qū)!A:B”。
這樣的話,就是VLOOKUP的基礎(chǔ)用法了:VLOOKUP(A2, 河北區(qū)!A:B,2,0)
我們要注意的是公式是數(shù)組公式,要用CTRL+SHIFT+ENTER鍵結(jié)束輸入。
本例中公式可以作為多表查詢的一個通用公式,其實我們通過姓名來返回數(shù)值型數(shù)據(jù),還可以用SUMIF+INDIRECT,本例還可以用數(shù)組公式,公式不再解釋。
=SUM(SUMIF(INDIRECT({'河北區(qū)';'北京區(qū)';'天津區(qū)'}&'!A:A'),A2,INDIRECT({'河北區(qū)';'北京區(qū)';'天津區(qū)'}&'!B:B')))
多表匯總一直是職場人士問的最多的EXCEL問題之一,我也向大家介紹過幾種多表匯總的方法,這幾天在操作多表匯總時碰到一個有意思的小技巧:編輯好公式后我們可以隨意指定匯總的工作表而不用重新編輯公式。
先來說一下這個多表匯總的方式,用SUM函數(shù)來求和,具體來看GIF:
這種匯總方法要求列各個工作表列標(biāo)題是一致的,最左側(cè)的員工編號排序必須也是一致的才可以,各個分表的員工編號數(shù)量到是可有多有少。
下面神奇的小技巧來了
首先我們增加兩個工作表,表名分別為'開始'和'結(jié)束',分別放在各分表前面和后面,重新編輯前面演示的公式。
然后我們移動'開始'、'結(jié)束'兩個工作表的位置,我們會發(fā)現(xiàn)匯總的數(shù)據(jù)總是在兩個表中間的工作表,其它工作表是不參與計算的。
是不是一個神奇的小技巧?
聯(lián)系客服