【转载】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查询结果