如何將一個Excel表格裡面的多個工作表中相同名稱對應的數據匯總?


有很多種方法,公式,VBA,Power Query,多搜索。


不知道你想實現的是不是如下案例的

上面的1,2,3,4,5,代表每個工作表的名稱,下面的人名代表每個工作表中的人員名稱,我們現在實現把不同工作表中相同人名的數據匯總到一起

情景一、不同sheet人員位置相同數據匯總

1、在B2單元格輸入如下公式,然後向右向下填充即可

=INDIRECT(B$1"!B"ROW())

然後選擇工作表1的數據和上面對比下,提取的數據是正確的

公式解釋:

INDIRECT(B$1"!B"ROW()) 代表返回工作表1的B2單元格的內容

上面我們看到的每個工段人員的行數位置是一致的,如果位置出現不一致,那要怎麼辦?

情景二、不同sheet人員位置不相同數據匯總

此時我們需要更改B2的公式為:

=VLOOKUP($A2,INDIRECT(B$1"!A:B"),2,0)

當另一個工作表內的工段順序和匯總表不一致的時候,仍然可以正確的匯總出來

公式解釋:

INDIRECT函數返回不同工作表內的A:B列數據,然後使用Vlookup查找對應的數值

更多內容可以添加關注學習哦~~


用vlookup公式!

如果你有兩個表,且兩個表中又有不完全相同的欄位,也就是兩個表的欄位有交集,比如:A表中有:姓名,年齡,身高,體重。B表中有:姓名,性別,班級,年級,科目,成績。可知AB兩表都有「姓名」這個欄位,圖片如下:

表A

表B

我想在表B後加上年齡信息,操作如下

點擊確定,並下拉G列單元格填充即可,展示如下

---------------------分割線-------------------

有知友問跨表怎麼辦,為了更直觀的回答這個問題,更新下,其實跨表也是同理,只不過取值範圍需要調整到對應的表格中的位置,比如,sheet3裡面有:姓名、職級等欄位。sheet4裡面有:姓名、手機號等欄位。

sheet3:

sheet3

sheet4:

sheet4

想知道員工的職級,需要去sheet3中選取值

公式如下:

=VLOOKUP(B3,Sheet3!A:B,2,0),註:因為職級欄位在第二列,所以是2,想要知道基本工資,就填3,以此類推。

結果如下:


參考一下,下面兩個案例是不是你題中的意思。

案例一

圖中是指有一張公司人員表,裡面有三個部門,想把各部門人匯總到一起(圖一到圖二的改變)。

這時候在powerquery頁面,找到「自定義列」輸入以下自定義公式 =Table.Group(更改的類型1,"部門",{"合併",each Text.Combine([姓名],"/")}) ,就可以得到圖二的結果了。

案例二

在處理數據時,有時可能需要將列與列進行合併,這個時候我們只需要用到一個簡單的合併函數Text.Combine就可以輕鬆實現。

下面的數據中我們需要把[品牌]和[商品名稱]列進行合併,並用「-」作為分隔符號。

在添加列下點擊「自定義列」,之後我們輸入函數公式Text.Combine輸入將要進行合併的列,把需要合併的欄位全部放在{}中並用逗號分隔開,最後在雙引號內輸入自定義的分隔符號「-」,就可以獲得一列新的合併列啦。

如果這兩個案例並不是你需要的結果,可以給我私信哦~~~


如果熟悉vba就用vba,這樣下次可以繼續用代碼


推薦閱讀:

新手必會的八個Excel技巧,個個實用
如何更快匯總兩百個表格的數據?
怎樣全面系統的學習excel表格?
八個懶人專用Excel技巧

TAG:MicrosoftExcel | Excel公式 | Excel使用 | Excel技巧 | 電子表格 |