总第 692 期
【作 者】
陈国栋(博士)
【作者单位】
(华北水利水电大学管理与经济学院 郑州 450046)
【摘 要】
【摘要】企业财务人员在处理大量财务数据时若直接使用Excel的筛选、分类汇总等功能会导致Excel软件速度变慢甚至计算机死机,但若使用Excel SQL处理数据方法和技巧,则可以克服上述缺陷。本文结合实例介绍了Excel SQL语句在数据汇总、分类汇总及筛选等方面的应用,对财务人员处理大量数据有一定的参考价值。
【关键词】Excel SQL 数据处理 汇总
一、问题的提出
从事实际工作的财会人员经常需要使用Excel处理大量的财务数据,或设计和使用财务表格解决财务管理问题。数据记录为几百几千条时,使用Excel的筛选、分类汇总、合并计算、函数等功能就能较好地处理。但是,如果数据记录有几万到几十万条时,Excel就不堪重负了,电脑速度会变得非常慢甚至会死机。而掌握了Excel SQL处理数据的方法和技巧,就能大大提高财会工作的效率。
Excel 的SQL功能包含在Excel功能区获取外部数据组中。使用Excel SQL功能时,Excel通过OLE DB接口获取外部数据源,同时可以在数据源连接属性定义选项的命令框中输入SQL语句,然后Excel会执行SQL语句并返回结果。Excel可以获取的外部数据源格式很丰富,包括Excel文件格式、Access文件格式等。下面结合实例详细介绍Excel SQL的应用方法。
二、Excel SQL在多表汇总中的应用
财会人员进行数据汇总时,若遇到数据来自不同的工作簿且需要对数据进行修改或添加,这时结合Excel SQL语句则能大大减轻工作量。
某企业的销售明细表共有12个工作簿,即一个月的销售明细集结为一个工作簿,年底汇总后需要进行数据分析。该销售明细表格数据格式如表1所示:
按照正常的工作程序,财会人员汇总数据一般会先将十二个月份的数据通过复制粘贴集中到一张Excel工作表上,然后使用Excel筛选、分类、汇总成表等功能进行数据分析。由于经营业务的纷繁,使得月份销售明细表往往需要多次修改数据,这时财会人员就需要多次进行重复操作,不仅麻烦并且容易出错。
解决此类复杂问题需要使用Excel的SQL语句。使用Excel SQL语句可使企业财会人员从筛选、分表汇总、合并计算等大量数据处理中解脱出来,从而极大地提高了工作效率。掌握Excel SQL可以使财会人员快捷、灵活、准确地处理财务数据,避免单独使用Excel操作时的烦琐和容易出错等问题。现将操作步骤介绍如下:
1. 新建一个“销售汇总”工作簿。点击Excel2010数据选项卡中获取外部数据组中的现有连接,这时就会出现现有连接对话框。
2. 点击现有连接对话框中左下角的浏览更多按钮,再打开存放数据的文件夹。选择分公司一个工作薄,然后点击打开按钮,如图2所示。
3. 选中销售明细,点击确定按钮(见图3)。
4. 在导入数据对话框中点击数据导入方式选择表,就会出现如图4所示对话框。
5. 如图5所示,点击属性按钮,在定义选项卡上命令文本中输入以下SQL语句,然后点击确定,就会得到一月至十二月销售明细如下:
select ∗ from [D:\销售明细表\一月.xls].[销售明细$]
UNION ALL
select ∗ from [D:\销售明细表\二月.xls].[销售明细$]
UNION ALL
select ∗ from [D:\销售明细表\三月.xls].[销售明细$]
UNION ALL
select ∗ from [D:\销售明细表\四月.xls].[销售明细$]
UNION ALL
select ∗ from [D:\销售明细表\五月.xls].[销售明细$]
UNION ALL
select ∗ from [D:\销售明细表\六月.xls].[销售明细$]
UNION ALL
select ∗ from [D:\销售明细表\七月.xls].[销售明细$]
UNION ALL
select ∗ from [D:\销售明细表\八月.xls].[销售明细$]
UNION ALL
select ∗ from [D:\销售明细表\九月.xls].[销售明细$]
UNION ALL
select ∗ from [D:\销售明细表\十月.xls].[销售明细$]
UNION ALL
select ∗ from [D:\销售明细表\十一月.xls].[销售明细$]
UNION ALL
select ∗ from [D:\销售明细表\十二月.xls].[销售明细$]
6. 单击确定后就可以将所有数据汇总,当源数据改变时刷新即可。
三、进一步的数据分析
对数据进行汇总后就可以使用Excel SQL对数据进行分析了。比如财会人员按照代码对数据进行汇总,对数量字段求和并重新命名为销量,对净额字段求和并重新命名为收入,并按照0.17的税率对净额字段之和计税,然后重新命名为税额。SQL语句如下:
select 代码,sum(数量) as 销量,sum(净额) as 收入,round(sum(净额)∗.17,2) as 税额 from [sheet1$] group by 代码。结果如表2所示:
使用Excel SQL语句也可以对数据进行筛选。例如筛选出代码对应产品的税额前5名的SQL语句如下:
select top 5 ∗ from [sheet1$] ORDER BY 税额 DESC。结果如表3所示:
【注】本文系河南省政府招标项目“河南新型城镇化产业支撑体系研究”(项目编号:2013B203)的研究成果,并受到华北水利水电大学管理科学与工程省级重点学科建设经费资助。
主要参考文献
1. 林盘生.Excel 2010 SQL完全应用.北京:电子工业出版社,2011
2. 樊静.Excel与财务管理.北京:高等教育出版社,2000