2014年 第 9 期
总第 685 期
财会月刊(上)
会计电算化
Excel SQL语句在企业会计科目汇总中的应用

作  者
陈国栋(博士)

作者单位
(华北水利水电大学管理与经济学院 郑州 450046)

摘  要

      【摘要】企业财务人员在处理企业会计科目汇总等问题时,如果单独使用Excel统计汇总功能非常繁琐并且容易出错。本文将结合实例将Excel SQL和Excel统计汇总功能如数据透视表等结合起来,快速准确处理了会计科目汇总、先筛选后汇总以及先汇总后筛选等问题。其最大的优点是,当数据源改变时只需点击刷新按钮即可得到重新计算的结果,非常准确和方便。
【关键词】Excel SQL   会计科目   科目汇总

会计科目是指按照企业经济业务的内容和经济管理的要求,对会计要素的具体内容进行分类核算的科目。按其所提供信息的详细程度及其关系,又分为总分类科目和明细分类科目。前者是对会计要素具体内容提供总分类信息的会计科目,如“应收账款”、“原材料”等科目,后者是对总分类科目作进一步分类、提供更详细更具体会计信息科目,如“应收账款”科目按债务人名称设置明细科目,反映应收账款具体对象。而会计科目汇总表则是由多种会计科目组成,对各类会计科目的一种集合。
一、企业会计科目汇总可使用Excel SQL语句
在企业财务工作中,经常需要对会计科目进行汇总。当数据来自不同的工作簿,并且数据经常修改或添加时,直接使用Excel汇总功能比如数据透视表时,工作量很大。这时我们可以结合使用Excel SQL语句将Excel SQL与Excel的数据分析功能如数据透视表能功能结合起来,可以使财务人员快捷、灵活、准确地处理财务数据,避免单独使用Excel操作时的繁琐和容易出错等问题。
Excel 的SQL功能在Excel功能区获取外部数据组中。使用Excel SQL功能时,Excel通过OLE DB接口获取外部数据源,同时可以在数据源连接属性定义选项的命令框中输入SQL语句,然后Excel会执行SQL语句并返回结果。Excel可以获取的外部数据源格式很丰富包括Excel文件格式、Access文件格式等。下面结合实例详细介绍Excel SQL在企业会计科目汇总中的具体应用。
二、实例分析
某企业有三个分公司,分公司一、分公司二和分公司三。年底时三个分公司的财务人员将会计科目表发到总公司财务部。总公司财务人员需要进行会计科目汇总。数据格式如表1。

 

 

 

 

对于这个问题,财务人员一般会先将三个分公司的数据通过复制粘贴集中到一张Excel工作表上,然后使用数据透视表等功能进行汇总分析。但是,这个问题的难点在于三个分公司的报表可能需要多次添加数据、修改数据等。这时总公司财务人员就需要多次进行重复操作,不仅麻烦并且容易出错。当分公司数目较多时,更是让财务人员感到棘手。此类问题的彻底解决需要使用Excel的SQL语句。步骤如下:

 

 

 

 

 

1. 新建一个名为科目汇总的工作簿。然后点击Excel 2010数据选项卡中获取外部数据组中的现有连接,然后出现现有连接对话框。
2. 点击现有连接对话框中左下角的浏览更多按钮,打开存放数据的文件夹。选择“分公司一”工作簿,点击打开按钮,如图2。

 

 

 

 

 


3. 选中“财务部一”,点击确定按钮,如图3。

 

 

 


4. 在出现的导入数据对话框中数据导入方式选择数据透视表,如图4。

 

 

 

 

 


5. 点击属性按钮,在定义选项卡上命令文本中输入以下SQL语句,然后点击确定。
select ∗ from [D:\会计科目汇总\分公司一.xls].[财务部一$]
UNION ALL
select ∗ from [D:\会计科目汇总\分公司二.xls].[财务部二$]
UNION ALL
select ∗ from [D:\会计科目汇总\分公司三.xls].[财务部三$]

 

 

 

 

 

 

 


6. 在数据透视表中,将单位字段拖动到行标签,将会计科目名称拖动到列标签,将月份字段拖动到报表筛选,金额字段拖动到∑数值中,汇总结果如表2。如果源数据改变,单击数据选项卡中的刷新即可得到重新计算的数据,非常方便。

 

 

 

 


使用Excel SQL语句还可以先进行筛选,然后汇总。例如分别筛选出三个分公司金额的前3名然后汇总的SQL语句如下:
select top 3 [财务部一$].金额,[财务部一$].日期,[财务部一$].单位,[财务部一$].会计科目名称
from [D:\会计科目汇总\分公司一.xls].[财务部一$]  ORDER BY [财务部一$].金额 DESC
UNION ALL(select top 3 [财务部二$].金额,[财务部二$].日期,[财务部二$].单位,[财务部二$].会计科目名称
from [D:\会计科目汇总\分公司二.xls].[财务部二$]  ORDER BY [财务部二$].金额 DESC)
UNION ALL
(select top 3 [财务部三$].金额,[财务部三$].日期,[财务部三$].单位,[财务部三$].会计科目名称
from [D:\会计科目汇总\分公司三.xls].[财务部三$] ORDER BY [财务部三$].金额 DESC)

 

 

 

 

 

使用Excel SQL语句也可以进行先汇总,再筛选。例如筛选出三个分公司所有金额的前5名的SQL语句如下:
select top 5  日期,单位,会计科目名称,金额
from (select ∗ from [D:\会计科目汇总\分公司一.xls].[财务部一$]
UNION ALL
select ∗ from [D:\会计科目汇总\分公司二.xls].[财务部二$]
UNION ALL
select *∗ from [D:\会计科目汇总\分公司三.xls].[财务部三$]
ORDER BY 金额 DESC)

 

 

 

【注】本文系华北水利水电大学管理科学与工程省级重点学科建设经费资助。
主要参考文献
林盘生.Excel 2010 SQL完全应用.北京:电子工业出版社,2011