【轉載】Excel工作表之SQL查詢方法 來源:http://blog.csdn.net/zhanghongju/article/details/8428458
近期在單位上做業務數據分析,發現還是Excel用的直接,篩選、求和、分類等等也是不亦樂乎,但是發現一些函數的效率與SQL還是有着較大差距,甚至是天壤之別,故作文一篇,提供Excel中的SQL查詢使用方式。
查詢的工作表可以是當前工作簿中的,也可以是其他工作簿中的。例如,圖1所示的“網站數據.xlsx”工作簿中,Sheet1表格存儲的是網站訪問信息統計,現在需要從Sheet1中獲取瀏覽次數大於500的城市。
圖1 Sheet1中存儲的訪問數據
可以在當前工作簿的其他表格中運行SQL查詢,也可以新建一個工作簿,在本示例中選擇當前工作簿的Sheet2表格,然后單擊“獲取外部數據”模塊的“現有連接”按鈕,在打開的“現有連接”對話框中單擊“瀏覽更多”按鈕,在打開的“選取數據源”對話框中定位到存儲源數據的Excel工作簿文件─網站數據.xlsx,如圖2所示。
圖2 定位存儲源數據的工作簿文件
單擊“打開”按鈕,打開如圖3所示的“選擇表格”對話框,勾選“數據首行包含列標題”復選框,選擇Sheet1工作表。
單擊“確定”按鈕,將打開如圖4所示的“導入數據”對話框,在“請選擇該數據在工作簿中的顯示方式”選項中選擇“表”,“數據的放置位置”選擇“現有工作表”並指定位置為A1單元格。
圖3 “選擇表格”對話框
圖4 “導入數據”對話框
單擊“屬性”按鈕將打開如圖5所示的“連接屬性”對話框,在“命令類型”下拉列表中選擇“SQL”,在命令文本中輸入SQL查詢語句“SELECT * FROM [Sheet1$] WHERE 瀏覽次數>500”,其中“Sheet1”即指定的Sheet1工作表,當在SQL中引用Excel工作表時,需要在名稱后面加上“$”符並將其包含在方括號內,“*”表示取出工作表中的全部字段,WHERE子句用於指定篩選條件,即瀏覽次數大於500。
圖5 “連接屬性”對話框
單擊“確定”按鈕返回到“導入數據”對話框,再次單擊“確定”按鈕即可看到查詢結果,如圖6所示。
圖6 SQL查詢結果