在Excel中使用SQL語句實現精確查詢


今天在微博上看到@數據分析精選 分享的一篇文章,是關於《在Excel中使用SQL語句實現精確查詢》,覺得非常受用,分享給大家。

(注:更多大數據精彩文章、資料詳見數據分析網:http://www.afenxi.com/

微博上有人回復評論說直接用vlookup、或者導入數據庫進行查詢處理就好了,豈不是更高效、更靈活;其實給人的第一直觀感覺是這樣子的,但是我們多想一步,這篇文章的應用場景、使用前提條件是什么?我想到的有以下幾個方面:①數據量不是很大的時候;②數據結構導入數據庫不是很合適、或要轉換,反而顯得麻煩;③使用Vlookup比較多的同學,相信明白匹配不是那么精確的,而且會返回“#N/A錯誤值”,另外vlookup每次返回的是一列值;④在Excel環境里面,可以很好的和表格、圖表進行結合,使用數據刷新功能一勞永逸的完成了常規圖表的自作。在我想到的這幾個前提環境下,相信使用這種方式會比較高效。另外一點,這篇文章提到的這個功能點和技巧告訴大家一個信息,其實在Excel里面也是可以進行數據查詢和數據庫查詢的(在這個功能區下還有數據庫查詢哦,自己去研究)。

言歸正傳,整理自原文以例子的方式來分享下這個功能模塊的使用。

溫馨提示:據了解Excel2007及以上版本才有這個功能,2003版本的要么路過學習一下、要么去升級下自己的版本。

有如下的2張表,表1里面包含姓名、時間、培訓內容字段的數據,表2包括姓名、職務、年薪字段的數據,我們可以看到2張表都有姓名字段。

表1

在Excel中使用SQL語句實現精確查詢

表2
在Excel中使用SQL語句實現精確查詢

現在想統計表2中名單上的人在表1中的培訓記錄。人肉實現或者Vlookup的方式當然這個簡單的Case可以實現,但是要學會舉一反三,學習方然是以簡單的例子給你講解(還糾結的回到文章開頭去想前提條件和你能想到能運用的場景)。這里給大家介紹在Excel中使用簡單SQL語句的方法來實現對不同表格間數據的整合和篩選。

首先,也是最重要的一部是為這兩個表命名,方法是選中表格后單擊右鍵選擇“定義名稱”,如下所示

在Excel中使用SQL語句實現精確查詢

單擊后,出現命名對話框

在Excel中使用SQL語句實現精確查詢

這里將表1和表2分別命名為Table1和Table2。

然后選擇上方的“數據”選項卡,選擇“自其他來源”下的“來自Microsoft Query ”選項

在Excel中使用SQL語句實現精確查詢

在彈出的對話框中選擇Excel Files*那一項,並且把對話框下面的“使用“查詢向導”創建/編輯查詢”勾掉,如下圖所示

在Excel中使用SQL語句實現精確查詢
然后點擊“確定”,便出現“選擇工作簿”的對話框,這里選擇包含表1和表2的工作表Sample.xlsx

在Excel中使用SQL語句實現精確查詢
點擊確定后之后彈出添加表的對話框,如下圖所示
在Excel中使用SQL語句實現精確查詢
這里要將Table1和Table2都添加一遍,添加完成后,查詢器應當是如下圖所示的樣子

在Excel中使用SQL語句實現精確查詢
此時,單擊圖10中輸入SQL語句的按鈕,彈出輸入SQL語句的對話框,如下圖所示
在Excel中使用SQL語句實現精確查詢
上圖中的代碼是這樣的,偷懶的同學可以直接CTRL+C/CTRL+V:
SELECT Table1.姓名, Table1.時間, Table1.培訓內容, Table2.姓名
FROM Table1,Table2
WHERE Table1.姓名 = Table2.姓名

 

其基本含義就是將表1中和表2中姓名相符的記錄從表1中篩選出來。SELECT語句是SQL語言中最基礎也是最重要的語句之一,加上WHERE語句后的限制條件,可以實現大多數的數據查詢和篩選工作,其語法也不困難,稍微學習一下就會了。輸入完代碼,單擊確定,就可以看到篩選出來的數據表了,如下圖所示

在Excel中使用SQL語句實現精確查詢
接下來的工作就是將篩選出來的數據表再返回至Excel工作表當中,選擇菜單中的“文件”——“將數據返回Microsoft Excel”,如下圖所示

在Excel中使用SQL語句實現精確查詢

接下來的步驟該干嘛就不羅嗦了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM