{eval=Array;=+count(Array);}

国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

問答專欄Q & A COLUMN

Excel中如何用SQL進行多工作簿匯總?

felix0913felix0913 回答0 收藏1
收藏問題

2條回答

leo108

leo108

回答于2022-06-28 13:58

對于經常使用Excel的人來說,在Excel中使用SQL能高效處理你的數據,但據我所知Excel中的SQL語法與MySQL數據的語法還有點不一樣。現在我就來實例說明如何用SQL語句對多個工作簿進行匯總。假如我們要匯總如下三個工作簿

1. 學生信息表

2. 學生成績表

3. 學生興趣表

將這三個工作簿按相同學號進行合并,大致分如下幾步:

1. 加載數據

在Excel中,依次點擊:數據->自其它來源->來自Microsoft Query->Excel Files*

然后再找到你Excel表格的存放目錄,如下圖

點擊下面你要加載的Excel數據表,進入下面頁面

將上圖可用的三張表都加入到右邊查詢結果中的列,加入完成后點擊下一步,數據就加載完成了。

2. 編寫SQL代碼并執行

接下來點擊上面的SQL按鈕開始寫SQL合并代碼。單純的合并代碼如下

SELECT

tm.*,

tn.興趣愛好 AS 興趣愛好

FROM(

SELECT

ta.學號 AS 學號,

ta.姓名 AS 姓名,

ta.年齡 AS 年齡,

ta.性別 AS 性別,

ta.身高 AS 身高,

ta.出生地 AS 出生地,

tb.語文成績 AS 語文成績,

tb.數學成績 AS 數學成績

FROM(

SELECT

tt.學號 AS 學號,

tt.姓名 AS 姓名,

tt.年齡 AS 年齡,

tt.性別 AS 性別,

tt.身高 AS 身高,

tt.出生地 AS 出生地

FROM [學生基本信息表$] tt

)ta

INNER JOIN(

SELECT

tt.學號 AS 學號,

tt.語文成績 AS 語文成績,

tt.數學成績 AS 數學成績

FROM [學生成績表$] tt

)tb

ON ta.學號=tb.學號

)tm

INNER JOIN(

SELECT

tt.學號 AS 學號,

tt.興趣愛好 AS 興趣愛好

FROM [學生興趣表$] tt

)tn

ON tm.學號=tn.學號

將代碼寫好后復制放入文本框中,點擊確定按鈕,就開始執行SQL語句。結果如下

這樣就完成了三個工作簿的數據合并,接下來將數據返回Excel表。

3. 返回數據到Excel表

點擊左上角的文件->將數據返回Microsoft Excel,彈出如下頁面

選擇數據的存放位置為新工作表,然后點擊確定即可,最終得到如下數據表

這樣就完成了三個工作簿的數據合并。


Tips:

1. 由于Excel中執行SQL語句時沒有比較詳細的報錯信息,如果SQL代碼語法有錯誤有可能執行會報錯,這個問題可以上網查詢或者直接在評論區問我。

2. 在Excel SQL中常用到的合并操作有INNER JOIN、LEFT JOIN、RIGHT JOIN、UNION、UNION ALL等,但不支持FULL JOIN。更復雜的需求都有一定的處理技巧。

評論0 贊同0
  •  加載中...
cnTomato

cnTomato

回答于2022-06-28 13:58

select * from [工作簿路徑1].[工作表名1] union all

select * from [工作簿路徑2].[工作表名2] union all

select * from [工作簿路徑3].[工作表名3]


個人比較推薦vba 引用ADO的方法,可以用變量代替工作簿路徑不用一個個寫。

展開說太麻煩,就這樣吧。

評論0 贊同0
  •  加載中...

最新活動

您已邀請0人回答 查看邀請

我的邀請列表

  • 擅長該話題
  • 回答過該話題
  • 我關注的人
向幫助了您的網友說句感謝的話吧!
付費偷看金額在0.1-10元之間
<