
Excel中使用SQL語(yǔ)句匯總表格
上一節(jié)我們學(xué)習(xí)了通過(guò)Excel數(shù)據(jù)透視表對(duì)多個(gè)工作表進(jìn)行快速匯總,這僅僅是一種特殊的情況。我們?cè)趯?shí)際工作中經(jīng)常遇到的情況是,要匯總的每個(gè)工作表中有多列文本。但是這些工作表的列數(shù)據(jù)結(jié)構(gòu)完全相同,也就是列數(shù)相同,列數(shù)據(jù)項(xiàng)目的先后順序也相同,但是行數(shù)可以不同,今天我們來(lái)學(xué)習(xí)下在Excel中使用SQL語(yǔ)句匯總表格。
使用導(dǎo)入數(shù)據(jù)+SQL數(shù)據(jù)查詢的方法是目前這類問(wèn)題最好的解決方法之一。這種方法的實(shí)質(zhì)就是將各個(gè)Excel工作表當(dāng)成數(shù)據(jù)庫(kù)的表進(jìn)行連接查詢,得到一個(gè)查詢數(shù)據(jù)集,這個(gè)數(shù)據(jù)集中保存有各個(gè)工作表的所有數(shù)據(jù),然后將這個(gè)查詢記錄集的數(shù)據(jù)保存到工作表,或者以此為基礎(chǔ)制作普通的數(shù)據(jù)透視表,從而得到需要的報(bào)表。
需要注意的是,為了能夠利用導(dǎo)入數(shù)據(jù)+SQL數(shù)據(jù)查詢的方法匯總多列文本情況下的多個(gè)工作表數(shù)據(jù)。每個(gè)工作表的第一行最好是數(shù)據(jù)區(qū)域的列標(biāo)題。如果每個(gè)工作表的第一行不是數(shù)據(jù)區(qū)域的列標(biāo)題。就需要先對(duì)數(shù)據(jù)區(qū)域定義名稱,或者在SQL語(yǔ)句中進(jìn)行特殊處理。
圖1所示為3個(gè)城市的銷售數(shù)據(jù)工作表“北京”、“上?!焙汀疤旖颉?,每個(gè)工作表保存有不同銷售部門的各個(gè)產(chǎn)品的銷售量和銷售額數(shù)據(jù)。現(xiàn)在要把這3個(gè)工作表的數(shù)據(jù)合并到一張工作表上,或者直接制作數(shù)據(jù)透視表,以便于進(jìn)行各種統(tǒng)計(jì)分析。
圖1
下面是利用SQL數(shù)據(jù)查詢的方法來(lái)匯總具有多列文本的多個(gè)工作表數(shù)據(jù)的具體方法和步驟。
1、在任何一個(gè)工作表中單擊“數(shù)據(jù)”選項(xiàng)卡,在“獲取外部數(shù)據(jù)一功能組中單擊“現(xiàn)有連接”按鈕,如圖2所示,打開“現(xiàn)有連接”對(duì)話框。如圖3所示。
圖2
圖3
2、單擊對(duì)話框左下角的“瀏覽更多”按鈕,打開“選取數(shù)據(jù)源”對(duì)話框,如圖4所示。
圖4
3、從保存該工作簿的文件夾中選擇該文件,如圖5所示。
圖5
4、單擊“打開”按鈕,打開“選擇表格”對(duì)話框,從表格列表中任選一個(gè)表格,并要選擇“數(shù)據(jù)首行包含列標(biāo)題”復(fù)選框,如圖6所示。
圖6
5、單擊“確定”按鈕,打開“導(dǎo)入數(shù)據(jù)”對(duì)話框,如圖7所示。
圖7
6、單擊“屬性”按鈕,打開“連接屬性”對(duì)話框,如圖8所示。切換到“定義”選項(xiàng)卡,在“命令文本”文本框中輸入以下SQL命令(如圖9所示):
圖8
圖9
select '北京'as城市,*from[北京$]union all
select '上海'as城市,*from[上海$]union all
select '天津'as城市,*from[天津$]
7、單擊“確定”按鈕,返回到“導(dǎo)入數(shù)據(jù)”對(duì)話框。
根據(jù)需要,可以選擇“表”單選按鈕或者“數(shù)據(jù)透視表”單選按鈕,并指定數(shù)據(jù)的保存位置,最后單擊“確定”按鈕,印可得到需要的匯總表。
圖10所示是選擇“表”單選按鈕后得到的匯總數(shù)據(jù)清單。
圖10
圖11所示是選擇“數(shù)據(jù)透視表”單選按鈕后得到的數(shù)據(jù)透視表。
圖11
關(guān)于SQL語(yǔ)句的小知識(shí):
本節(jié)介紹了利用SQL語(yǔ)句對(duì)多個(gè)具有多列文本工作表數(shù)據(jù)進(jìn)行查詢匯總的基本方法,下面簡(jiǎn)要介紹SQL語(yǔ)句的基本知識(shí)。
在眾多的SQL語(yǔ)句中,SELECT語(yǔ)句是使用最頻繁的。SELECT語(yǔ)句主要用來(lái)對(duì)數(shù)據(jù)庫(kù)進(jìn)行查詢并返回符合用戶查詢標(biāo)準(zhǔn)的結(jié)果數(shù)據(jù)。
SELECT語(yǔ)句有5個(gè)主要的子句,而FROM是唯一必需的子句。每一個(gè)子句有大量的選擇項(xiàng)和參數(shù)。
SELECT語(yǔ)句的語(yǔ)法格式如下:
SELECT字段列表
FROM子句
[WHERE子句]
[GROUP BY子句]
[HAVING子句]
[ORDER BY子句]
SELECT語(yǔ)句的各項(xiàng)組成說(shuō)明如下:
(1)字段列表
字段列表指定多個(gè)字段名稱。各個(gè)字段之間用半角逗號(hào)“?!狈指簟S眯翘?hào)“*”表示所有的字段。當(dāng)包含有多個(gè)表的字段時(shí)??捎谩皵?shù)據(jù)表名。字段名”表示,即在字段名前標(biāo)明該字段所在的數(shù)據(jù)表。
例如。“select日期,產(chǎn)品編號(hào),銷售量,銷售額”就是選擇數(shù)據(jù)表中的“日期”、“產(chǎn)品編號(hào)”、“銷售量”和“銷售額”這4個(gè)字段。還可以在字段列表中自定義宇段。例如SQL語(yǔ)句“select日期,產(chǎn)品編號(hào),銷售量,銷售額。“北京'as城市from[北京$]”中,除了查詢工作表“北京”中的宇段“日期”、“產(chǎn)品編號(hào)”、“銷售量”和“銷售額外”。還自定義了一個(gè)工作表中沒(méi)有的字段“城市”。并將“北京”作為該宇段的數(shù)據(jù)。由于“北京”是一個(gè)文本。因此需要用單引號(hào)括起來(lái)。將某個(gè)數(shù)據(jù)保存在自定義字段的方法是利用AS屬性詞。即“'北京'as城市”。
(2)FROM子句
FROM子句是一個(gè)必需子句,指定要查詢的數(shù)據(jù)表,各個(gè)數(shù)據(jù)表之間用半角逗號(hào)“?!狈指?。
但要注意。如果是查詢工作簿中的數(shù)據(jù)表,就必須用方括號(hào)將工作表名括起來(lái),并且工作表名后要有美元符號(hào)($)。
例如?!皊elect日期,產(chǎn)品編號(hào),銷售量,銷售額from[北京$]".就是查詢工作表“北京”中的字段“日期”、“產(chǎn)品編號(hào)”、“銷售量”和“銷售額”。
如果要查詢的是Access數(shù)據(jù)庫(kù)、SQL Server數(shù)據(jù)庫(kù)等關(guān)系型數(shù)據(jù)庫(kù)的數(shù)據(jù)表,在FROM后面直接寫上數(shù)據(jù)表名即可。
(3)WHERE子句
WHERE子句是一個(gè)可選子句,指定查詢的條件??梢允褂?a href='/map/sql/' style='color:#000;font-size:inherit;'>SQL運(yùn)算符組成各種條件運(yùn)算表達(dá)式。
例如“WHERE部門=“銷售部”就表示要查詢的部門是“銷售部”的數(shù)據(jù)。
如果條件值是數(shù)值,則直接寫上數(shù)值,如“WHERE年齡>50";如果條件值是字符串。則必須用單引號(hào)“'”括起來(lái)。如“WHERE部門='銷售部'”;如果條件值是日期,則必須用井號(hào)“#”或單引號(hào)“'”括起來(lái)。如“WHERE日期:=#2007-12-22#”。
(4)GROUP BY子句
GROUP BY子句是一個(gè)可選子句,指定分組項(xiàng)目,使具有同樣內(nèi)容的記錄(如日期相同、部門相同、性別相同等)歸類在一起。
例如,“GROUP BY性別”就表示將查詢的數(shù)據(jù)按性別分組。
(5)HAVING子句
HAVING子句是—個(gè)可選子句,功能與WHERE子句類似,只是必須與GROUP BY子句一起使用。
例如,要想只顯示平均工資大于5000元的記錄并按部門進(jìn)行分組,則可以使用子句“GROUPBY部門HAVING AVG(工資總額)>5000"。
(6)ORDERBY子句
ORDER BY子句是一個(gè)可選子句,指定查詢結(jié)果以何種方式排序。排序方式有兩種:升序(ASC)和降序(DESC)。如果省略ASC和DESC.則表示按升序排序。
例如。“ORDER BY姓名ASC"就表示查詢結(jié)果按姓氏拼音升序排序;而“ORDER BY工資總額。年齡DESC”則表示查詢結(jié)果按“工資總額”從小到大升序排序,“年齡”按從大到小降序排序。
此外,在實(shí)際工作中可能要查詢工作簿中的多個(gè)工作表或者數(shù)據(jù)庫(kù)中的多個(gè)數(shù)據(jù)表。這就是多表查詢問(wèn)題。
多表查詢有很多種方法。例如。利用WHERE子句設(shè)置多表之間的連接條件。利用JOIN…ON子句連接多個(gè)表。利用UNION或者UNION ALL連接多個(gè)SELECT語(yǔ)句等。
Excel中使用SQL語(yǔ)句匯總表格時(shí),如果我們要查詢多個(gè)工作表或數(shù)據(jù)表的數(shù)據(jù),并將這些表的數(shù)據(jù)生成一個(gè)記錄集。那么可以利用UNION ALL將每個(gè)表的SELECT語(yǔ)句連接起來(lái)。
數(shù)據(jù)分析咨詢請(qǐng)掃描二維碼
若不方便掃碼,搜微信號(hào):CDAshujufenxi
LSTM 模型輸入長(zhǎng)度選擇技巧:提升序列建模效能的關(guān)鍵? 在循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)家族中,長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM)憑借其解決長(zhǎng)序列 ...
2025-07-11CDA 數(shù)據(jù)分析師報(bào)考條件詳解與準(zhǔn)備指南? ? 在數(shù)據(jù)驅(qū)動(dòng)決策的時(shí)代浪潮下,CDA 數(shù)據(jù)分析師認(rèn)證愈發(fā)受到矚目,成為眾多有志投身數(shù) ...
2025-07-11數(shù)據(jù)透視表中兩列相乘合計(jì)的實(shí)用指南? 在數(shù)據(jù)分析的日常工作中,數(shù)據(jù)透視表憑借其強(qiáng)大的數(shù)據(jù)匯總和分析功能,成為了 Excel 用戶 ...
2025-07-11尊敬的考生: 您好! 我們誠(chéng)摯通知您,CDA Level I和 Level II考試大綱將于 2025年7月25日 實(shí)施重大更新。 此次更新旨在確保認(rèn) ...
2025-07-10BI 大數(shù)據(jù)分析師:連接數(shù)據(jù)與業(yè)務(wù)的價(jià)值轉(zhuǎn)化者? ? 在大數(shù)據(jù)與商業(yè)智能(Business Intelligence,簡(jiǎn)稱 BI)深度融合的時(shí)代,BI ...
2025-07-10SQL 在預(yù)測(cè)分析中的應(yīng)用:從數(shù)據(jù)查詢到趨勢(shì)預(yù)判? ? 在數(shù)據(jù)驅(qū)動(dòng)決策的時(shí)代,預(yù)測(cè)分析作為挖掘數(shù)據(jù)潛在價(jià)值的核心手段,正被廣泛 ...
2025-07-10數(shù)據(jù)查詢結(jié)束后:分析師的收尾工作與價(jià)值深化? ? 在數(shù)據(jù)分析的全流程中,“query end”(查詢結(jié)束)并非工作的終點(diǎn),而是將數(shù) ...
2025-07-10CDA 數(shù)據(jù)分析師考試:從報(bào)考到取證的全攻略? 在數(shù)字經(jīng)濟(jì)蓬勃發(fā)展的今天,數(shù)據(jù)分析師已成為各行業(yè)爭(zhēng)搶的核心人才,而 CDA(Certi ...
2025-07-09【CDA干貨】單樣本趨勢(shì)性檢驗(yàn):捕捉數(shù)據(jù)背后的時(shí)間軌跡? 在數(shù)據(jù)分析的版圖中,單樣本趨勢(shì)性檢驗(yàn)如同一位耐心的偵探,專注于從單 ...
2025-07-09year_month數(shù)據(jù)類型:時(shí)間維度的精準(zhǔn)切片? ? 在數(shù)據(jù)的世界里,時(shí)間是最不可或缺的維度之一,而year_month數(shù)據(jù)類型就像一把精準(zhǔn) ...
2025-07-09CDA 備考干貨:Python 在數(shù)據(jù)分析中的核心應(yīng)用與實(shí)戰(zhàn)技巧? ? 在 CDA 數(shù)據(jù)分析師認(rèn)證考試中,Python 作為數(shù)據(jù)處理與分析的核心 ...
2025-07-08SPSS 中的 Mann-Kendall 檢驗(yàn):數(shù)據(jù)趨勢(shì)與突變分析的有力工具? ? ? 在數(shù)據(jù)分析的廣袤領(lǐng)域中,準(zhǔn)確捕捉數(shù)據(jù)的趨勢(shì)變化以及識(shí)別 ...
2025-07-08備戰(zhàn) CDA 數(shù)據(jù)分析師考試:需要多久?如何規(guī)劃? CDA(Certified Data Analyst)數(shù)據(jù)分析師認(rèn)證作為國(guó)內(nèi)權(quán)威的數(shù)據(jù)分析能力認(rèn)證 ...
2025-07-08LSTM 輸出不確定的成因、影響與應(yīng)對(duì)策略? 長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM)作為循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的一種變體,憑借獨(dú)特的門控機(jī)制,在 ...
2025-07-07統(tǒng)計(jì)學(xué)方法在市場(chǎng)調(diào)研數(shù)據(jù)中的深度應(yīng)用? 市場(chǎng)調(diào)研是企業(yè)洞察市場(chǎng)動(dòng)態(tài)、了解消費(fèi)者需求的重要途徑,而統(tǒng)計(jì)學(xué)方法則是市場(chǎng)調(diào)研數(shù) ...
2025-07-07CDA數(shù)據(jù)分析師證書考試全攻略? 在數(shù)字化浪潮席卷全球的當(dāng)下,數(shù)據(jù)已成為企業(yè)決策、行業(yè)發(fā)展的核心驅(qū)動(dòng)力,數(shù)據(jù)分析師也因此成為 ...
2025-07-07剖析 CDA 數(shù)據(jù)分析師考試題型:解鎖高效備考與答題策略? CDA(Certified Data Analyst)數(shù)據(jù)分析師考試作為衡量數(shù)據(jù)專業(yè)能力的 ...
2025-07-04SQL Server 字符串截取轉(zhuǎn)日期:解鎖數(shù)據(jù)處理的關(guān)鍵技能? 在數(shù)據(jù)處理與分析工作中,數(shù)據(jù)格式的規(guī)范性是保證后續(xù)分析準(zhǔn)確性的基礎(chǔ) ...
2025-07-04CDA 數(shù)據(jù)分析師視角:從數(shù)據(jù)迷霧中探尋商業(yè)真相? 在數(shù)字化浪潮席卷全球的今天,數(shù)據(jù)已成為企業(yè)決策的核心驅(qū)動(dòng)力,CDA(Certifie ...
2025-07-04CDA 數(shù)據(jù)分析師:開啟數(shù)據(jù)職業(yè)發(fā)展新征程? ? 在數(shù)據(jù)成為核心生產(chǎn)要素的今天,數(shù)據(jù)分析師的職業(yè)價(jià)值愈發(fā)凸顯。CDA(Certified D ...
2025-07-03