问题来源
韩老师讲过好几种合并工作表分析数据的方法,包括用SQL语句、数据查询、合并计算、数据透视表。经常有朋友使用这几种方法,其中有几位朋友也曾出现过这样或那样的问题。
今天韩老师讲一种不用合并工作表,直接可以查询的方法。
示例数据为员工六个月的业绩表:
结果:
关键操作
1、新建【查询】工作表,利用【数据验证】,在A2单元格生成“姓名”下拉选择列表。因为1-6月份中6月份的姓名最全,所以序列来自6月份的所有姓名。如下图:
2、在【查询】工作表中,选择【数据】——【自其他来源】——【来自Microsoft Query】,如下图:
3、在【选择数据源】对话框中选择【ExcelFiles】,确定,如下图:
4、选择当前EXCEL文件名,确定。如下图:
5、在【查询向导—选择列】对话框中,将左侧的【可用的表和列】中的“1月”表的列添加到右侧【查询结果中的列】预览框中,如下图:
6、在上一步中,假设【查询向导—选择列】对话框中,将左侧的【可用的表和列】预览框为空,按如下操作:
7、此步默认,点击【下一步】:
8、此步默认,点击【下一步】:
9、在跳出的【查询向导—完成】框中如下操作:
10、在跳出的【导入数据】对话框中,选择【表】,指定查询数据存放位置的起始单元格,本示例中,查询结果的起始单元格为A4,然后选择【属性】,如下图:
11、在【连接属性】对话框的【定义】选项卡下【命令文本】中,填入以下命令:
select * from(select * from [1月$] union all select * from [2月$] union all select * from [3月$] union all select * from [4月$] union all select * from [5月$] union all select * from [6月$] ) where 姓名= ?
(此语句,不要害怕,其实都是重复的select * from [1月$] union all 模式,只改其中的工作表名字,几个工作表重复几次,最后一次去掉 union all 。)
如下图:
12、在【输入参数值】对话框中,指定参数为“姓名下拉列表”所在单元格,并勾选如图两个选项:
13:、最终完成数据导入:
选择姓名,即出现本文开始的结果动图。