第2章 编制会计凭证
会计凭证是会计登记入账的数据来源,从外观上来看,会计凭证是一种比较复杂的表格。Excel就是表格设计的能手,它兼顾了数据库设计的方法,因此非常适合业务复杂程度不高的单位。用Excel编制会计凭证的难点在于要将不规则的表格中的数据转换成表对象中的数据,以便日后进一步进行账务处理。
编制会计凭证的过程是企业用会计语言对企业的经济业务进行描述的过程。一笔业务能被会计准确表述需要满足两个条件:一是经济行为能够被正确分类;二是经济行为能够被准确计量。如果一笔经济业务不能够按照会计准则进行分类或者可以分类但是无法准确计量,那么都不能够确定为一项会计上可以描述的经济行为,这两个条件只有同时成立时,会计人员才能够据此编制凭证入账。
会计对经济行为进行分类是通过会计科目来完成的,会计科目按照性质可以分为资产类、负债类、权益类、成本类和损益类科目。会计科目由总账科目和明细科目组成。总账科目通常都是一级科目,其代码由4位数字组成,一级科目的名称和代码是由会计准则规定的,企业不能够随意添加,但是对于无须使用的一级科目,企业可以不设置。
明细科目代码长度一般为2~3位,除了一些特殊的明细科目外,企业需要设置哪些具体的明细科目,会计准则并未进行强制规定,各企业可以根据自身的经营特点在不同的时期设置不同的会计科目,体现了明细科目按需设置的特点。
为了便于今后使用公式,会计科目的数据放置在表对象中。会计科目属于重大基础性的资料,需要使用单独的一张工作表来放置表对象。设置完成的科目代码表包括两方面内容:
第一个方面是预设会计科目代码和名称。预设会计科目是不固定、不完整的,用户无须,也不可能一次性设计完所有的科目。通常一级科目需要一次性设置完毕,而二级明细科目可以根据以往的经验进行设计,对于今后需要添加的科目可在需要时添加。
第二个方面是设置会计科目的期初余额和余额的生成方式。如果是从年初启用,那么期初余额就是年初数。
除了科目代码外,用户还需要定义现金流量类型,设置现金流量类型是为今后生成现金流量表服务的。对于现金流量的类型名称会计上是有明确规定的,而现金流量类型的代码则可以由用户自定义。在本实验中,单独设置一张表来放置现金流量相关的项目,现金流量的具体内容包括:
- 销售商品、提供劳务收到的现金。
- 收到的税费返还。
- 收到其他与经营活动有关的现金。
- 购买商品、接受劳务支付的现金。
- 支付给职工以及为职工支付的现金。
- 支付的各项税费。
- 支付其他与经营活动有关的现金。
- 收回投资收到的现金。
- 取得投资收益收到的现金。
- 处置固定资产、无形资产和其他长期资产收回的现金净额。
- 处置子公司及其他营业单位收到的现金净额。
- 收到其他与投资活动有关的现金。
- 购建固定资产、无形资产和其他长期资产支付的现金。
- 投资支付的现金。
- 取得子公司及其他营业单位支付的现金净额。
- 支付其他与投资活动有关的现金。
- 吸收投资收到的现金。
- 取得借款收到的现金。
- 收到其他与筹资活动有关的现金。
- 偿还债务支付的现金。
- 分配股利、利润或偿付利息支付的现金。
- 支付其他与筹资活动有关的现金。
科目代码表和现金流量类型是编制记账凭证的基础。
(一)实验目的
了解科目代码表和现金流量类型的设置方法和用途。
(二)实验要求
了解表对象的使用方法。
金盛公司是一家商品流通企业,公司为一般纳税人。在2017年年底,各个会计科目的余额如表2-1所示。
要求:
(1)根据表2-1中的内容设置科目代码表,并为各个科目设置年初数。
(2)设置现金流量表的类型及代码。
1.科目代码表
创建科目代码表的步骤如下:
- 打开Excel,将工作表保存为“账务处理.xlsm”,如图2.1所示。选中Sheet1工作表,将Sheet1工作表重命名为“科目代码表”。
- 选中A1单元格,在A1~E1单元格区域内依次输入科目代码、科目名称、性质、是否明细和年初数等字段。
- 选中A列并右击,执行“设置单元格格式”命令,打开“设置单元格格式”对话框,单击“数字”标签,选择“数字格式”为“数值”,“小数位数”设置为0,完成A列数据格式的设定。
- 选中E列并右击,执行“设置单元格格式”命令,打开“设置单元格格式”对话框,单击“数字”标签,选择“数字格式”为“会计专用”,“货币符号”设置为无。
- 选中A1单元格,打开“插入”选项卡,执行“表格”组内的“表格”命令,打开如图2.2所示的“创建表”对话框,勾选“表包含标题”复选框,将指定的单元格区域转化为表对象。
- 单击A1单元格,选中“设计”选项卡,将“属性”组内的默认表名称更改为“kmdm”,完成表对象名称的设计,如图2.3所示。
- 选中A1单元格,在“设计”选项卡中,在“表样式”组中选择“表样式浅色9”,完成表样式的选择。
2.各科目年初数
在科目代码表中还需要提供科目的年初数和余额的产生方式,设置各科目年初数的操作步骤如下:
- 从A2单元格开始输入科目代码“1001”,在B2单元格内输入科目名称“现金”。
- 在C2单元格内输入数值“1”,完成现金科目的性质设定。
- 在D2单元格输入“y”,完成是否明细科目的设置。
- 在E2单元格内输入数值“3630”,完成现金年初数的设定。
- 从A3单元格开始,继续输入各个会计科目的代码、名称、性质、年初数和是否明细等字段内容。
最终完成的科目代码表如图2.4所示。
- 单击“公式”选项卡,执行“定义的名称”组内的“定义名称”命令,打开如图2.5所示的“新建名称”对话框,在“名称”后输入“dm”,在“引用位置”中输入“=kmdm[科目代码]”,完成第1列名称的设置。
3.现金流量类型
现金流量表中有关的现金流量信息是需要在输入凭证的时候一并输入的,为了便于日后创建现金流量表,可以设置一个参数表来放置不同的现金流量类型,具体的操作步骤如下:
- 新建一张工作表,将工作表重命名为“参数”,完成参数表的设置。
- 在A1:B1单元格区域内输入“内容”和“类型代码”。
- 选中A1单元格,选中“插入”选项卡,执行“表格”组内的“表格”命令,打开如图2.6所示的“创建表”对话框,单击“确定”按钮,创建一个表对象。
- 选中A1单元格,选中“设计”选项卡,在“属性”组内将表名称更改为“xjll”,完成表对象样式和名称的设置。
- 从A2单元格开始输入实验原理中介绍的各种现金流量项目内容和代码,最终结果如图2.7所示。
- 单击“公式”选项卡,执行“定义的名称”组内的“定义名称”命令,打开如图2.8所示的“新建名称”对话框,在“名称”中输入“现金流量类型”,“引用位置”设置中输入“=xjll[内容]”,单击“确定”按钮,完成新建名称的设置。
金邦公司在2017年年底,各个会计科目的余额如表2-2所示。
要求根据上述内容编制公司的科目代码表和现金流量类型参数表。
如果把账务处理的过程比喻为构建房屋的过程,那么科目代码表设置完成后就意味着构建房屋的基本材料已经准备就绪了,接下来的任务就是使用这些材料来构建房屋的主体,记账凭证就是构建房屋主体的一个重要步骤。记账是会计人员根据审核无误的原始凭证按照经济业务事项的内容进行归类,并形成会计凭证登记入账的过程,记账凭证的数据是账簿的形成依据。
从外观上看,这些记账凭证具有格式统一、内容规范的特点。企业常用的记账凭证有专用记账凭证和通用记账凭证两类。专用记账凭证是用来专门记录某一类经济业务的记账凭证。专用凭证按其所记录的经济业务与现金和银行存款的收付有无关系,又分为收款凭证、付款凭证和转账凭证3种。通用记账凭证则统一使用一种格式的凭证进行登记,本书实验使用的记账凭证就是通用记账凭证,对于一般的企业来说,通用记账凭证可以完全保证业务正确地执行。
一张记账凭证至少会有借贷两条记录,它提供的信息内容包括时间信息、业务信息、制单审核信息和数量金额信息等。电算化软件一般分为前台和后台两部分,前台提供界面让用户输入数据、管理数据,后台记录用户输入的数据,后台数据库通常不允许一般的凭证录入人员进入,只有管理员才可以对数据进行操作。
使用Excel进行会计电算化的设计也一样,需要尽可能地减少用户在后台操作的数据,特别是对于不熟练的人员来说,直接修改后台的数据是一件非常危险的事情。为此,本实验设计了一个直观良好的界面作为输入前台,并且将这个前台作为数据输入的唯一入口。
记账凭证包含的内容不仅仅要考虑到界面是否美观、人性化,还需要考虑生成的凭证和未来的财务报告相衔接。资产负债表和利润表都是基于会计科目的,这就决定了会计凭证中需要引入科目代码表;现金流量表的项目是基于日常的现金流量形成的,凭证输入过程中也需要包含现金流量的因素。
前台的数据完成后,必须通过一定的技术手段将其转移到后台的凭证库中,本书所使用的技术策略是通过录制宏来完成的。宏是一个动作记录器,能够将用户的动作真实准确地反映出来,当再次执行动作记录器的时候,动作又会按照先前录制的顺序再执行一次。只要用户在录制宏的时候设置引用方式为绝对引用和相对引用交叉应用,就可以将记账凭证中的记录一次性地导入凭证库中。
(一)实验目的
了解记账凭证和后台数据表之间的联系。
(二)实验要求
了解表对象的使用方法,了解录制宏的过程。
在2018年1月,金盛公司发生了如下业务:
(1)购买编号为JP34的商品33000元,购买MT5的商品21000元,购买编号为KK2的商品8000元,增值税税率为17%,以工行支付货款。
(2)向海尚公司销售JP32和JP33两种商品,收入为175000元,其中工行收到了货款13475元,其余部分稍后支付。JP32成本为6000元,JP33成本为5000元。
(3)工行收到欧丽公司归还的货款88000元。
(4)归还一通公司货款250000元,货款已经通过工行支付。
(5)销售JP35、MT5和KK3三种商品共计152800元,工行已经收到全部货款。JP35的成本为61000元,MT5的成本为28000元,KK2的成本为3350元。
(6)现金支付销售部门费用98元。
(7)工行支付招待费5532元。
(8)向金鑫公司销售商品MT4共计254000元,未收到货款。MT4商品成本为189100元。
(9)销售部门购买办公用品2200元,以工行支付。
(10)销售JP34商品157200元,货款已经通过工行收讫,JP34商品的成本为72500元。
(11)以工行支付税款,上月应交增值税销项税71382元,不考虑增值税外的其他税收。
(12)购买商品MT4共计487000元,JP32共计45000元,JP34共计102000元,货款未支付,其中从合力赊购573300元,从兴乐公司赊购168480元。
(13)工行支付前期计入其他应付款的水费6022元。
(14)购买空调5台,共计35000元,以工行支付。
(15)方乐出差暂领现金3500元。
(16)从工行提取175000元支付职工工资,其中销售部门95000元,管理部门80000元。同时按10%计提福利费用。
(17)工行收到新通讯公司归还的欠款100000元。
(18)出售商品KK3和KK4共计135000元,其中KK3成本为32000元,KK4成本为28000元,货款已经通过工行收讫。
(19)向海尚公司销售商品JP35共计182000元,成本为110000元,货款未收讫。
(20)向一通公司和兴乐公司赊购商品MT5共计205000元,KK4共计25000元,其中向一通企业购买商品140000元,向乐星公司购买商品65000元。
(21)以工行支付一通企业商品款150000元。
(22)以工行支付网络费1200元。
(23)从工行支付劳保用品费用8000元。
1.凭证界面
用户输入界面是一个类似记账凭证的界面,用户可以在界面中输入数据,通过单击按钮来提交数据。使用按钮来提交数据就必须使用宏的功能,Excel 2019中启用宏的具体操作步骤如下:
- 单击Excel左上角的“文件”按钮,单击“选项”按钮,打开“Excel选项”对话框,如图2.9所示。
- 在左侧选择“自定义功能区”,在右侧选中“自定义功能区”下的“主选项卡”中的“开发工具”,完成“开发工具”的选择。
通过上述操作,选项卡中就能显示“开发工具”,如图2.10所示。
创建凭证界面的具体操作步骤如下:
- 新建工作表,将工作表重命名为“凭证输入”。
- 在B1单元格中输入“记账凭证”,然后选中C1:F1单元格区域,执行“开始”选项卡下“对齐方式”组中的“合并后居中”命令,如图2.11所示。
将“字体”设置为“仿宋_GB2312”,“字号”大小为“20”,并将B1:F1单元格区域设置为双下画线。
- 在B2单元格内输入“凭证号”,在D2单元格内输入“日期”,在G2单元格内输入“附件数”。
- 选中E2单元格,右击,执行“设置单元格格式”命令,选中“数字”选项卡,设置为“日期”分类中的“2012/3/14”类型,完成日期格式的设置。
- 从A3单元格开始,在工作表中输入如图2.12所示的内容。
- 选中“开发工具”选项卡,选择“控件”组中“插入”下“表单控件”中的“按钮”控件,如图2.13所示。
在“凭证输入”工作表的H2单元格偏右位置添加一个按钮,直接关闭“指定宏”对话框,在按钮上右击,执行“编辑文字”命令,将按钮的名称改为“添加记录”,完成按钮的设置。
- 选中“开发工具”选项卡,选择“控件”组中“插入”下“表单控件”中的“按钮”控件,在“添加记录”按钮后添加一个命令按钮,并将按钮上的标题更改为“获取最新凭单号”,完成按钮的设置。
-
选中A5单元格,在编辑栏内输入公式:
=IF(B5<>"",YEAR($E$2)&"-"&IF(MONTH($E$2)<10,"0"&MONTH($E$2))&"-"&IF(DAY ($E$2)<10,"0"&DAY($E$2))&"-"&IF($C$2<10,"00"&$C$2,IF($C$2<100,"0"&$C$2,$C$2))&"-"&IF(ROW()-4<10,"0"&ROW()-4,ROW()-4)&"-"&IF($H$2<10,"0"&$H$2,$H$2),"")”,完成凭证id的设计。
- 选中C5:C18单元格,选中“数据”选项卡中“数据工具”组内“数据验证”下的“数据验证”命令,打开如图2.14所示的数据验证对话框。在“设置”选项卡下,将“验证条件”设置为“序列”,“来源”设置为“=dm”,单击“出错警告”选项卡,在“标题”下输入“科目代码错误”,在“错误信息”下输入“输入的科目代码不存在”,单击“确定”按钮,完成数据验证的设置。
- 选中D5单元格,在编辑栏内输入公式“=IFERROR(VLOOKUP(LEFT(C5,4)+0,kmdm,2,FALSE),"")”,完成总账科目的设置。
- 选中E5单元格,在编辑栏内输入“=IFERROR(VLOOKUP(C5,kmdm[#全部],2,FALSE),"")”,完成明细科目的设置。
- 选中I5单元格,在编辑栏内输入公式“=IF(OR(COUNTBLANK(G5:H5)+COUNTBLANK(B5)=3, COUNTBLANK(G5:H5)+COUNTBLANK(B5)=0),"","错误")”,完成错误提示的设定。
- 选中F5:F18单元格区域,单击“数据”选项卡,执行“数据工具”组内的“数据验证”命令,打开如图2.15所示的“数据验证”对话框,在“设置”选项卡下的“允许”中选择“序列”,“来源”设置为“=现金流量类型”,单击“确定”按钮,完成数据验证的设置。
- 选中G5:G18单元格区域,选中“开始”选项卡,执行“样式”组内的“条件格式”下的“新建规则”命令,在“选择规则类型”中单击“使用公式确定要设置格式的单元格”命令,打开如图2.16所示的“新建格式规则”对话框,在“为符合此公式的值设置格式”下的文本框内输入“=SUM($H$5:$H$18)< >SUM($G$5:$G$18)”,单击“格式”按钮,选择“填充”选项卡,选择红色为填充颜色,单击“确定”按钮,完成条件格式的设置。
- 选中G5:H18单元格区域,右击,执行“设置单元格格式”命令,将其类型设置为“会计专用”,“小数位数”设置为2,“货币符号”设置为“无”,完成指定单元格区域的格式设置。
- 选中A5单元格,将鼠标移动到A5单元格的右下角,向下拖曳填充公式到A18单元格区域,完成凭证id的设置。选中D5:E5单元格区域,将鼠标移动到单元格区域的右下角,向下拖曳填充公式至D18:E18单元格区域,完成总账科目和明细科目的设置。
- 选中I5单元格,将鼠标移动到I5单元格的右下角,向下拖曳填充公式到I18单元格区域,完成凭证错误提示的设置。
2.输入数据
当凭证界面完成后,就可以将业务记录输入这个界面中。以2018年1月发生的第一笔业务为例,购买编号为JP34的商品33000元、购买MT5的商品21000元、购买编号为KK2的商品8000元,增值税税率为17%,以工行支付货款。
该业务的会计分录是:
借:库存商品-JP34 33000
库存商品-MT5 21000
库存商品-KK2 8000
应交税费-应交增值税(进项) 10540
贷:银行存款-工行 72540
根据该分录登记到输入界面的具体操作步骤如下:
- 选中C2单元格,输入凭证号,完成凭证号的设置。
- 选中E2单元格,输入“2018-1-3”,完成凭证日期的输入。
- 选中H2单元格,输入“1”,表示该笔凭证的附件数。
- 选中B5单元格,输入摘要“购买商品”,在C5单元格内输入科目代码“140503”,在G5单元格内输入金额33000,在H5单元格内输入数值0,完成输入第1号凭证的第1笔记录,第1笔记录完成后的效果如图2.17所示。
- 选中B6单元格,输入摘要“购买商品”,在C6单元格内输入科目代码“140507”,在G6单元格输入金额21000,在H6单元格内输入数值0,完成输入该凭证的第2笔记录。
- 选中B7单元格,输入摘要“购买商品”,在C7单元格内输入科目代码“140508”,在G7单元格输入金额8000,在H7单元格内输入数值0,完成输入该凭证的第3笔记录。
- 选中B8单元格,输入摘要“购买商品”,在C8单元格内输入科目代码“222101”,在G8单元格内输入金额10540,在H8单元格内输入数值0,完成该凭证的第4笔记录。
- 选中B9单元格,输入摘要“购买商品”,在C9单元格内输入科目代码“100201”,在F9单元格选择“现金流量类型”为“购买商品、接受劳务支付的现金”,在G9单元格内输入0,在H9单元格内输入数值70540,完成该凭证的第5笔记录。
在凭证界面中输入完成后的凭证如图2.18所示。
3.导入凭证库
输入完成后的数据仍旧停留在界面中,这就相当于在一个软件中输入了数据,但是数据并没有提交到后台数据库。在本实验中,这个后台数据库就是一个凭证汇总表,它的任务是收集每笔记录数据。将凭证界面中的数据导入凭证库中会使用到宏,将数据导入凭证库的操作步骤如下:
- 新建工作表,将工作表重命名为“凭证库”,完成建立“凭证库”工作表。
- 在“凭证库”工作表中从A1单元格位置开始输入:id、凭证id、摘要、科目代码、总账科目、明细科目、现金流量类型、借金额、贷金额、类型代码、年、月、日、凭证号、笔号、附件数、性质和审核等字段,完成凭证库所需字段的输入。
- 选中A1单元格,打开“插入”选项卡,执行“表格”组内的“表格”命令,将指定的单元格区域转化为组。选中“设计”选项卡,将“属性”组内的表对象的名称更改为“pzk”,完成“凭证库”工作表的设计。
- 选中B2单元格,在B2单元格内输入字母“a”,完成首行数据的输入。
打开“凭证输入”工作表,在凭证界面中输入第一张凭证,如图2.20所示。当I列没有错误提示,并且借贷方没有红色显示时,说明该凭证在结构上已经是正确的,就可以通过录制一个宏将数据导入凭证库工作表中。
录制宏的具体操作步骤如下:
- 选择“开发工具”选项卡,执行“代码”组内的“录制宏”命令,打开如图2.21所示的“录制新宏”对话框,将宏名称更改为“添加新记录”,单击“确定”按钮,开始录制宏。
- 选择H5单元格,然后在“开发工具”选项卡的代码组内选择“使用相对引用”命令,进入相对模式下录制。
- 选中H5单元格,同时按键盘上的Shift+Ctrl+向下方向键,再同时按键盘上的Shift+Ctrl+向左方向键,按3次向左方向键,再按键盘上的Ctrl+C键,完成要复制内容的选择复制操作。
- 在“开发工具”选项卡的代码组内,取消选择“使用相对引用”命令,进入绝对引用模式中。
- 选择“凭证库”工作表,选中B2单元格,然后在“开发工具”选项卡的代码组内,选择“使用相对引用”命令,同时按键盘上的Ctrl+向下方向键,再单独按一次向下方向键,在空白单元格内右击,执行“选择性粘贴”命令中的“选择性粘贴”命令,打开如图2.23所示的“选择性粘贴”对话框,选择“数值”项,单击“确定”按钮,完成数据的粘贴操作。
- 选中“开发工具”选项卡,在“代码”组内,取消选择“使用相对引用”命令,进入绝对引用模式。
- 选中B1单元格,双击该单元格,退出复制模式,然后选中C1单元格,选择“凭证输入”工作表,选中B5:C18单元格区域,单击Delete键,删除凭证摘要和科目代码,然后选中“F5:H18”单元格区域,单击Delete键,删除凭证的借方金额和贷方金额,完成删除已经导入凭证的数据。
- 单击在“开发工具”选项卡的“代码组”内的“停止录制”命令,完成宏的录制。
- 在“添加记录”按钮上右击,执行“指定宏”命令,打开如图2.24所示的指定宏对话框,选择“添加新记录”项,单击“确定”按钮,完成指定宏的设置。
通过上述步骤,在“凭证库”工作表中就可以显示刚才输入的凭证内容,如图2.25所示。
4.优化凭证号
用户的凭证输入通常不会一次性完成,随着凭证数量的增加,有一个问题是当前输入的凭证号到底为多少号?凭证号的确定方法一般有两种,一种是通过查看凭证库来获得当前输入凭证的凭证号;还有一种是通过公式来计算获得凭证的凭证号。本实例使用公式来获得凭证号。在前述设计中,凭证界面内已经放置了一个命令按钮,按钮的名称就是“获取最新凭单号”,下述过程为按钮指定一个宏,宏的作用就是实时计算最新的凭单号,具体的操作步骤如下:
- 选择“凭证输入”工作表,选择“开发工具”选项卡,执行“代码”组内的“录制宏”命令,打开“录制新宏”对话框,将宏名称更改为“获取最新凭单号”,单击“确定”按钮,开始录制宏。
- 选中C2单元格,在编辑栏内输入公式“=MAX(IF(pzk[年]&"-"&pzk[月]=YEAR(E2)&"-"&MONTH(E2),pzk[凭证号]),0)+1”,然后同时按键盘上的Ctrl+Shift+回车键,获取凭证库中指定月份最新的凭单号。
- 单击“开发工具”选项卡的“代码组”内的“停止录制”命令,完成宏的录制。
- 在“获取最新凭单号”按钮上右击,执行“指定宏”命令,打开指定宏对话框,选择“获取最新凭单号”项,单击“确定”按钮,完成指定宏的设置。
5.其他字段数据
“凭证库”工作表中的内容除了复制过去的凭证记录外,其他字段的值都为空,需要用户通过公式来获取,获取的基础就是凭证id字段的值。为其他字段添加公式计算数据的具体操作步骤如下:
- 选中“凭证库”工作表,选中第2行,右击,执行“删除”命令,删除第一行记录。
- 选中A2单元格,在编辑栏内输入“=[@年]&"-"&[@月]&"-"&[@凭证号]&"-"&[@笔号]”,按回车键确认,完成id字段的设定。
- 选中J2单元格,在编辑栏内输入公式“=IFERROR(VLOOKUP([@现金流量类型],xjll,2,FALSE),"")”,完成现金流量类型代码的设置。
- 选中K2单元格,在编辑栏内输入公式“=LEFT([@凭证id],4)+0”,完成“年”字段的设置。
- 选中L2单元格,在编辑栏内输入公式“=MID([@凭证id],6,2)+0”,完成“月”字段的设置。
- 选中M2单元格,在编辑栏内输入公式“=MID([@凭证id],9,2)+0”,完成“日”字段的设置。
- 选中N2单元格,在编辑栏内输入公式“=MID([@凭证id],12,3)+0”,完成“凭证号”字段的设置。
- 选中O2单元格,在编辑栏内输入公式“=MID([@凭证id],16,2)+0”,完成“笔号”字段的设置。
- 选中P2单元格,在编辑栏内输入公式“=RIGHT([@凭证id],2)+0”,完成“附件数”字段的设置。
- 选中Q2单元格,在编辑栏内输入公式“=VLOOKUP([@科目代码],kmdm,3,FALSE)”,完成会计科目性质的显示。
- 选中A2单元格,选中“视图”选项卡,执行“窗口”组中的“冻结窗口”下的“冻结拆分窗口”命令,完成窗口冻结。
6.后续凭证输入
至此为止,记账凭证的设计已经基本完成了。下面以第2笔业务处理为例完成后续凭证输入及向凭证库中添加数据的完整过程。
第2笔业务内容为向海尚公司销售JP32和JP33两种商品,收入为175000元,其中工行收到了货款13475元,其余部分稍后支付。JP32成本为6000元,JP33成本为5500元。
该笔业务的销售分录为:
借:银行存款-工行 13475
应收账款-海尚公司 7000
贷:主营业务收入 17500
应交税费-应交增值税(销项) 2975
借:主营业务成本 11000
贷:库存商品-JP32 6000
库存商品-JP33 5000
该笔业务分为两笔分录,后续凭证输入的具体操作步骤如下:
- 选中“凭证输入”工作表,输入日期和附件数,单击“获取最新凭单号”按钮,设置本张凭单的凭单号。
- 选中B5单元格,输入摘要“销售商品”。在C5单元格内输入科目代码100201,在F5单元格内选择“销售商品、提供劳务收到的现金”,在G5单元格内输入数值13475,在H5单元格内输入数值0。
- 选中B6单元格,输入摘要“销售商品”。在C6单元格内输入科目代码112201,在G6单元格内输入数值7000,在H6单元格内输入数值0。
- 选中B7单元格,输入摘要“销售商品”。在C7单元格内输入科目代码6401,在G7单元格内输入数值0,在H7单元格内输入数值17500。
- 选中B8单元格,输入摘要“销售商品”。在C8单元格内输入科目代码222102,在G8单元格内输入数值0,在H8单元格内输入数值2975。最终生成的凭证如图2.26所示。
- 凭证输入检查无误后,单击“添加记录”按钮,即可将记录添加到“凭证库”中,完成将凭证内容导入“凭证库”中。打开“凭证库”工作表,可以看到输入的凭证数据,如图2.27所示。
7.会计分录参考
下面列出了本实验中涉及的各笔业务的会计分录。
第1笔业务:
借:库存商品-JP34 33000
库存商品-MT5 21000
库存商品-KK2 8000
应交税费-应交增值税(进项) 10540
贷:银行存款-工行 70540
第2笔业务:
借:银行存款-工行 13475
应收账款-海尚公司 7000
贷:主营业务收入 17500
应交税费-应交增值税(销项) 2975
借:主营业务成本 11000
贷:库存商品-JP32 6000
库存商品-JP33 5000
第3笔业务:
借:银行存款-工行 88000
贷:应收账款-欧丽公司 88000
第4笔业务:
借:应付账款-一通公司 250000
贷:银行存款-工行 250000
第5笔业务:
借:银行存款-工行 178776
贷:主营业务收入 152800
应交税费-应交增值税(销项) 25976
借:主营业务成本 92350
贷:库存商品-JP35 61000
库存商品-MT5 28000
库存商品-KK2 3350
第6笔业务:
借:销售费用 98
贷:现金 98
第7笔业务:
借:管理费用-业务招待费 5532
贷:银行存款-工行 5532
第8笔业务:
借:应收账款-金鑫公司 297180
贷:主营业务收入 254000
应交税费-应交增值税(销项) 43180
借:主营业务成本 189100
贷:库存商品-JP35 189100
第9笔业务:
借:销售费用 2200
贷:银行存款-工行 2200
第10笔业务:
借:银行存款-工行 183924
贷:主营业务收入 157200
应交税费-应交增值税(销项) 26724
借:主营业务成本 72500
贷:库存商品-JP34 72500
第11笔业务:
借:应交税费-应交增值税(销项) 71382
贷:银行存款-工行 71382
第12笔业务:
借:库存商品-MT4 487000
库存商品-JP32 45000
库存商品-JP34 102000
应交税费-应交增值税(进项) 107780
贷:应付账款-合力企业 573300
应付账款-兴乐公司 168480
第13笔业务:
借:其他应付款 6022
贷:银行存款-工行 6022
第14笔业务:
借:固定资产 35000
贷:银行存款-工行 35000
第15笔业务:
借:其他应收款-方乐 3500
贷:现金 3500
第16笔业务:
借:现金 175000
贷:银行存款-工行 175000
借:应付职工薪酬 175000
贷:现金 175000
借:销售费用 95000
管理费用-工资 34500
贷:应付职工薪酬 175000
借:销售费用 9500
管理费用-福利费 8000
贷:应付职工薪酬 17500
第17笔业务:
借:银行存款-工行 125000
贷:应收账款-新通讯公司 125000
第18笔业务:
借:银行存款-工行 157950
贷:主营业务收入 135000
应交税费-应交增值税(销项) 22950
借:主营业务成本 60000
贷:库存商品-KK3 32000
库存商品-KK4 28000
第19笔业务:
借:应收账款-海尚公司 212940
贷:主营业务收入 182000
应交税费-应交增值税(销项) 30940
借:主营业务成本 110000
贷:库存商品-JP35 110000
第20笔业务:
借:库存商品-MT5 205000
库存商品-KK4 25000
应交税费-应交增值税(进项) 39100
贷:应付账款-一通企业 239850
应付账款-兴乐公司 29250
第21笔业务:
借:应付账款-一通企业 150000
贷:银行存款-工行 150000
第22笔业务:
借:管理费用-其他 1200
贷:银行存款-工行 1200
第23笔业务:
借:管理费用-劳保费用 8000
贷:银行存款-工行 8000
2018年1月,金邦公司发生的业务如下,增值税税率为17%。
(1)购买编号为P03的商品25740元,购买编号为P02的商品28080元,购买编号为P07的商品10530元,以工行支付货款。
(2)向兴华公司销售P01和P02两种商品,收入为21060元,其中工行收到了货款10000元,其余部分稍后支付。P01成本为3900元,P02成本为8100元。
(3)工行收到佳佳公司归还的货款140000元。
(4)归还胜瑞科技公司货款300000元,货款已经通过工行支付。
(5)销售P04、P05和P07三种商品共计163800元,工行已经收到全部货款。P04的成本为53000元,P05的成本为40000元,P07的成本为25000元。
(6)使用现金支付招待费3000元。
(7)向利农公司销售商品P05共计245700元,未收到货款。P05商品成本为198900元。
(8)销售部门购买办公用品2000元,以工行支付。
(9)销售P03商品93600元,货款已经通过工行收讫,P03商品的成本为60000元。
(10)购买商品P07共计549900元,P01共计29250元,P03共计105300元,货款未支付,其中从正则科技公司赊购29250元,其余从胜瑞科技公司赊购。
(11)从工行支付前期计入其他应付款的电费40000元。
(12)从工行支付职工工资70000元,其中销售部门50000元,管理部门20000元。同时计提福利费用销售部门7000元,管理部门2800元。
(13)工行收到利农公司归还的欠款100000元。
(14)出售商品P07共计117000元,P07成本为63225元,货款已经通过工行收讫。
(15)向利农公司销售商品P04共计152100元,成本为100000元,货款未收讫。
(16)向正则科技公司和胜瑞公司赊购商品P01共计198900元,P02共计7020元,其中欠正则科技公司100000元,其余为胜瑞公司欠款。
(17)以工行支付正则科技公司商品款100000元。
(18)工行支付报刊费5000元。
参照本实验的方法,创建凭证输入界面,并将上述内容输入凭证输入界面中,通过该界面的功能将数据导入凭证库中。
在凭证输入过程中发生错误是不可避免的,这就涉及凭证的修改操作。和输入凭证一样,修改凭证也不应该在后台直接操作,而是需要在前台完成,再提交到后台进行处理。
一般来说,修改一笔凭证需要经过如下步骤:
(1)从凭证库中找到指定的凭证,并将凭证的内容导入前台界面中。
(2)在前台界面中修改凭证。
(3)删除凭证库中指定的凭证。
(4)将修改完毕的凭证再次写入凭证库中。
找到指定的凭证是通过高级筛选来完成的。在实验2-2中,凭证库为每笔凭证设计了一个凭证id号,只要设法获得凭证id号字段内容,就可以进行高级筛选并获得某张凭证的所有信息。这些信息稍后会被复制到前台界面中,由于每个凭证号对应的笔数不一定相同,因此在录制宏的时候需要使用相对引用的方法来完成。
修改完成后的凭证需要再次写回到后台凭证库中,为了避免多次写入造成重复,需要删除筛选出的内容,再进行导入。
凭证一旦计入凭证库,除了修改内容之外,对于输入错误的凭证原则上不应该直接删除。因为假定在输入完成后删除指定的凭证,要删除的凭证不是最后一张凭证,就会导致凭证号不连贯,这在会计电算化中是不允许的。但是在凭证修改中也包含删除凭证内容的操作,用户如果需要设计相关的内容,则可以添加删除功能。
(一)实验目的
掌握凭证修改的原理,了解凭证修改的设计思路。
(二)实验要求
了解高级筛选方法,了解录制宏的过程。
本节实验的数据来源于2-2节实验已经完成的凭证库中的内容,用户在本实验要完成下述任务:
(1)调出凭证库中1月第2号凭证。
(2)修改凭证库工作表中第2号凭证,将主营业务支出更改为主营业务收入。
1.设定查询条件
要定位一张凭证就需要知道它的年、月和凭证号信息,也就是用户在凭证库中定义的“凭证id”字段的值。我们需要设置一个条件区域,让用户在指定的条件区域设置条件,通过高级筛选获取数据。设置查询条件界面的具体操作步骤如下:
- 新建一张工作表,将工作表重命名为“凭证编辑”。
- 从A1单元格开始输入如图2.28所示的凭证修改查询条件,完成查询条件的设置。
- 选中“开发工具”选项卡,选择“控件”组内“插入”下的“表单控件”中的“按钮”控件,在E列的位置添加一个命令按钮,将按钮上的标题更改为“调用凭证”。
- 选中“开发工具”选项卡,选择“控件”组内“插入”下的“表单控件”中的“按钮”控件,在F列的位置添加一个命令按钮,将按钮上的标题更改为“确认修改”。最终的效果如图2.29所示。
2.设置凭证修改界面
修改凭证就是将凭证库中的指定凭证调出并放置在修改界面中。凭证修改界面和凭证输入界面基本上是一致的。对于一张凭证修改的内容包括凭证的大部分信息,但是不包括凭单号。凭证修改界面的设计过程具体操作步骤如下:
- 在C4单元格中输入“记账凭证”,然后选中C4:G4单元格区域,执行“开始”选项卡下“对齐方式”组中的“合并后居中”命令,将“字体”设置为“仿宋_GB2312”,“字号”大小为“20”,并将C4:F4单元格区域设置为双下画线。
- 选中B5单元格,输入“凭证号”,选中C5单元格,在编辑栏内输入公式“=D2”,完成调出的凭证号的设计。
- 选中D5单元格,输入“日期”,选中E5单元格,在编辑栏内输入公式“=LEFT(A8,10)”,完成凭证输入日期的设置。
- 选中G5单元格,输入“附件数”,选中H5单元格,在编辑栏内输入公式“=RIGHT(A8,2)+0”,完成凭证附件数的设置。
- 从A6单元格开始,输入如图2.30所示的内容完成界面的设计。
- 选中D8单元格,在编辑栏内输入公式“=IFERROR(VLOOKUP(LEFT(C8,4)+0,kmdm,2, FALSE),"")”,完成总账科目名称的设置。
- 选中E8单元格,在编辑栏内输入公式“=IFERROR(IF(LEN(C8)=6,VLOOKUP(C8,kmdm,2, FALSE),""),"科目代码有误")”,完成明细科目名称的设置。选中D8:E8单元格区域,向下填充公式到D22:E22单元格区域。
- 选中I8单元格,在编辑栏内输入公式“=IF(OR(COUNTBLANK(G8:H8)+COUNTBLANK (B8)=3,COUNTBLANK(G8:H8)+COUNTBLANK(B8)=0),"","错误")”,按回车键确认,完成错误提示的设置。选中I8单元格,向下复制公式到I22单元格中,完成错误提示的设置。
- 选中F8:F22单元格区域,单击“数据”选项卡,执行“数据工具”组内的“数据验证”下的“数据验证”命令,打开“数据验证”对话框,在“设置”选项卡下的有效性中选择“序列”,“来源”设置为“=现金流量类型”,单击“确定”按钮,完成数据有效性的设置。
- 选中G8:G22单元格区域,选中“开始”选项卡,执行“样式”组内的“条件格式”下的“新建规则”命令,在“选择规则类型”中选中“使用公式确定要设置格式的单元格”命令,打开“新建格式规则”对话框,在“为符合此公式的值设置格式”下的文本框内输入“=SUM($H$8:$H$22)<>SUM($G$8:$G$22)”,单击“格式”按钮,选择“填充”选项卡,选择红色为填充颜色,单击“确定”按钮,完成条件格式的设置。
- 选中G8:H22单元格区域,右击,执行“设置单元格格式”命令,将“数字类型”设置为“会计专用”,不显示货币符号类型。
3.调用待修改凭证
在凭证修改的界面中设定了调用凭证的条件,接下来使用高级筛选,将凭证库中指定年、月和凭证号的凭证筛选出来,然后将指定的凭证内容复制到“凭证编辑”工作表中,这样就可以显示调出的指定凭证。以2018年1月第2号凭证为例,具体的操作过程如下:
- 在“凭证编辑”工作表中,在B2单元格输入数据2018,在C2单元格输入月份值1,在D2单元格输入数值2,如图2.31所示,完成高级筛选条件的设定。
- 选择“开发工具”选项卡,执行“代码”组内的“录制宏”命令,打开“录制新宏”对话框,将宏名称更改为“调出凭证”,单击“确定”按钮,开始录制宏。
- 在“凭证编辑”工作表中,选中A8:C22单元格区域,单击键盘上的Delete键,删除指定单元格区域的内容。选中F8:H22单元格区域,单击键盘上的Delete键,删除指定单元格区域的内容。
- 在“凭证编辑”工作表中,选中A8单元格,选中“凭证库”工作表,选中“数据”选项卡中“排序和筛选”组内的“高级”命令,打开如图2.32所示的“高级筛选”对话框,在列表区域中输入“pzk[#全部]”,单击条件区域后的折叠按钮,选中“凭证编辑”工作表中的B1~D2单元格区域,单击“确定”按钮,完成高级筛选的操作。
- 同时按下键盘上的Ctrl+G键,打开如图2.33所示的定位对话框,在引用位置中输入“=pzk[[#数据],[凭证id]:[科目代码]]”,单击“确定”按钮,定位到指定的位置。同时,按键盘上的Ctrl+C键复制内容,然后选中“凭证编辑”工作表中的A8单元格,右击,执行“选择性粘贴”命令,打开“选择性粘贴”对话框,选择其中的“粘贴数值”选项,最终将凭证id、摘要和科目代码复制到指定位置。
-
选中“凭证库”工作表,在编辑栏内单击一下,退出复制状态,选中A1单元格,同时按下键盘上的Ctrl+G键,打开如图2.34所示的“定位”对话框,在引用位置中输入“=pzk[[#数据],[现金流量类型]:[贷金额]]”,单击“确定”按钮,定位到指定的位置。同时,按键盘上的Ctrl+C键复制内容,然后选中“凭证编辑”工作表中的F8单元格,右击,执行“选择性粘贴”命令,打开“选择性粘贴”对话框,选择其中的“粘贴数值”选项,最终将借方金额与贷方金额复制到指定位置。
- 选中“凭证库”工作表,选择“数据”选项卡,执行“排序和筛选”组内的“清除”命令,清除高级筛选的结果,然后选择“凭证编辑”工作表。
- 选中“凭证编辑”工作表,单击在“开发工具”选项卡的“代码组”内的“停止录制”命令,完成宏的录制。
- 在“调用凭证”按钮上右击,执行“指定宏”命令,打开“指定宏”对话框,选择“调出凭证”项,单击“确定”按钮,完成指定宏的设置。
要调用1月第1号凭证,只需要在“凭证编辑”工作表中,在B2单元格内输入数值2018,在C2单元格内输入数值1,在D2单元格内输入数值1,单击“调用凭证”按钮,显示的结果如图2.35所示。
4.修改凭证
将凭证调用出来后,接着需要删除凭证库中指定的凭证,并将“凭证编辑”工作表中修改完成的记录重新导入凭证库中。
第2号凭证中,将销售商品产生的主营业务收入输入成了主营业务成本,这就需要将第3笔记录的科目代码进行更改,具体的操作步骤如下:
- 选择“凭证编辑”工作表中,在B2单元格内中输入2018,在C2单元格中输入数值1,在D2单元格中输入数值2,单击“调用凭证”按钮,调用凭证的结果如图2.36所示,完成高级筛选条件的设定。
- 选择“开发工具”选项卡,执行“代码”组内的“录制宏”命令,打开“录制新宏”对话框,将宏名称更改为“确认修改”,单击“确定”按钮,开始录制宏。
- 选中“凭证编辑”工作表中的A8单元格,然后选中“凭证库”工作表,选中“数据”选项卡中“排序和筛选”组内的“高级”命令,打开“高级筛选”对话框,在列表区域输入“pzk[#全部]”,单击条件区域后的折叠按钮,选中“凭证编辑”工作表中的B1~D2单元格区域,单击“确定”按钮,完成高级筛选的操作。
- 同时按键盘上的Ctrl+G键,打开如图2.37所示的“定位”对话框,在引用位置中输入“=pzk[#数据]”,单击“确定”按钮,定位到指定的位置。
- 同时按键盘上的Shift+Ctrl+向右方向键,在选中的位置右击,执行“删除行”命令,删除指定的记录。
- 选中“数据”选项卡,执行“排序和筛选”中的“清除”命令,退出筛选过程。
- 选中“凭证编辑”工作表中的H8单元格,然后在“开发工具”选项卡的代码组内选择“使用相对引用”命令,进入相对模式下录制。
- 同时按键盘上的Shift+Ctrl+向下方向键,再同时按键盘上的Shift+Ctrl+向左方向键,按3次向左方向键,按键盘上的Ctrl+C键,完成要复制内容的选择复制操作。
- 在“开发工具”选项卡的代码组内,取消选择“使用相对引用”命令,进入绝对引用模式。
- 选择“凭证库”工作表中的B2单元格,然后在“开发工具”选项卡的代码组内,选择“使用相对引用”命令,同时按键盘上的Ctrl+向下方向键,再单独按一次向下方向键,在空白单元格内右击,执行“选择性粘贴”命令,在“选择性粘贴”对话框选择“数值”项,单击“确定”按钮,完成数据的粘贴操作。
- 在“开发工具”选项卡的代码组内,取消选择“使用相对引用”命令,进入绝对引用模式。
- 选中“凭证库”工作表中的B1单元格,双击该单元格,退出复制模式,然后选中C1单元格,选择“凭证编辑”工作表,选中A8:C22单元格区域,单击Delete键,删除凭证摘要和科目代码,然后选中“F8:H22”单元格区域,单击Delete键,删除凭证的现金流量类型、借方金额和贷方金额,删除已经导入凭证的数据。
- 单击“开发工具”选项卡的“代码组”内的“停止录制”命令,完成宏的录制。
- 在“确认修改”按钮上右击,执行“指定宏”命令,打开“指定宏”对话框,选择“确认修改”项,单击“确定”按钮,完成指定宏的设置。
在“凭证编辑”工作表中,在B2单元格内输入2018,在C2单元格中输入1,在D2单元格中输入2,单击“调用凭证”按钮,调出凭证,然后将C10单元格中的内容更改为“6001”,如图2.38所示。
单击“确认修改”按钮,即可将指定的内容写回凭证库,修改的凭证此时会被放置在凭证库表中的最后位置,最终的结果如图2.39所示。
将金邦公司第6笔业务工行支付招待费由3000元更改为3500元。要求根据本实验的方法创建凭证修改界面,调出要修改的凭证,修改后传回凭证库中。
在一个有着内部控制的企业,设置审核程序是必需的。审核程序能够减少差错的发生,而且只有经过审核的凭证才可以入账。
凭证的登记人员是不得负责凭证审核工作的。在使用数据库作为后台的电算化系统中要做到这一点并不困难,但是对于Excel而言,我们实现的仅仅是为会计凭证设置审核标志。
用Excel编制会计电算化的过程中,审核的主要作用在于发现记账凭证中是否发生了错误。这些错误包括账务处理是否正确、登记的金额是否正确。当所有的数据审核无误后,就可以通过单击“审核”按钮为凭证添加已审核标志。
要做到这一点,需要经过如下步骤:
- 读取指定的凭证:该步骤和上节实验的相关内容是一致的,需要通过高级筛选从凭证库中提取数据。
- 审核数据:对读出的数据进行审核,如果数据确定无误,则单击“审核”按钮,完成审核操作。
凭证打印的过程就是将凭证内容导入预先设置好的界面内,图2.40显示的是一张常用的记账凭证。
从图2.40中可以看出,凭证的打印界面和设计界面是不相同的,在设计界面中,为用户预留了多达18个数据行,这就意味着一个凭证号最多可以输入18笔记录。但是在打印的时候不可能让一张凭证纸容纳18行记录,比如图2.40所示的样张中,只能容纳6个数据行,这就要求一张凭证中多于指定的数据行时,需要将凭证进行分页处理。
本实验将从凭证库中提取的信息进行加工后填写到记账凭证中,并最终输出到打印机上。提取数据的方法是使用公式和函数。实验中提取数据的过程是比较复杂的,为了降低提取数据的难度,通常会设置一些辅助列(行)。这些辅助列(行)的作用是预先计算出公式的值,达到简化公式的计算、降低公式设计难度的目的。
(一)实验目的
通过本实验掌握凭证提取的方法,设计辅助列的方法。
(二)实验要求
能熟练操作高级筛选方法,了解录制宏的过程。
要求从凭证库中调出指定的凭证,并显示如下字段:
(1)凭证号:指定年月的某笔凭证。
(2)记账日期:提取“凭证库”中“id”字段的值。
(3)附件数:一张凭证号中每笔记录的附件数都是相同的,因此只需要提取“凭证库”中对应凭证号第一笔分录的附件数。
(4)摘要:提取“凭证库”中“摘要”字段的值。
(5)总账科目:提取“凭证库”中对应“总账科目”字段的值。
(6)明细科目:提取“凭证库”中对应“明细科目”字段的值。
(7)借方金额:提取“凭证库”中对应“借金额”字段的值。
(8)贷方金额:提取“凭证库”中对应“贷金额”字段的值。
(9)合计:如果凭证大于4笔分录,那么凭证将会被分页,并且合计数只在最后一页中显示;如果凭证数小于4笔分录,凭证就只有一页,直接对借方金额和贷方金额进行汇总。
提取完成后,用户在本实验要完成下述任务:
(1)通过用户输入指定的年、月和凭证号信息,审核第一张凭证2018年1月第1号凭证和第2号凭证。
(2)打印2018年1月第2号凭证。
1.凭证审核条件设定
判断一张凭证是否已经被审核过就是看“凭证库”工作表中“审核”字段的内容,如果一张凭证已经审核通过,就标示为“已审核”,如果未审核,则显示空白。要提取指定的凭证进行审核或者打印,首先需要调出指定的凭证,具体的操作步骤如下:
- 新建一张工作表,将工作表重命名“凭证审核与打印”,建立“凭证审核与打印”工作表。
- 从A1单元格开始输入如图2.41所示的数据,完成查询条件的指定。
- 选中“开发工具”选项卡,执行“控件”组中的“表单控件”,选择“数值调节”按钮,如图2.42所示,在E2单元格内拖曳出一个“数值调节”按钮,完成E2单元格内“数值调节”按钮的放置。
- 在E2单元格内的“数值调节”按钮处右击,执行“设置控件格式”命令,打开“设置控件格式”对话框,如图2.43所示,单击“控制”标签,“当前值”选择为“1”,“最小值”设置为“1”,“步长”设置为“1”,单击单元格链接后的折叠按钮 ,选择E2单元格,单击“确定”按钮,完成对E2单元格“数值调节”按钮的设置。
- 同样在G2单元格内拖曳出一个“数值调节”按钮,完成G2单元格内“数值调节”按钮的放置。
- 在G2单元格内的“数值调节”按钮处右击,执行“设置控件格式”命令,打开“设置控件格式”对话框,单击“控制”标签,“当前值”选择为“1”,“最小值”设置为“1”,“步长”设置为“1”,单击单元格链接后的折叠按钮 ,选择G2单元格,单击“确定”按钮,完成对G2单元格“数值调节”按钮的设置。
2.凭证区域设定
最终打印的凭证其行数是固定的,并且一般行数不会太多,对于某些笔数较多的凭证来说,就存在着分页显示的问题。如果在Excel中设计的公式比较复杂,则会考虑为公式设计一些辅助列或者行,这些辅助区域的设计目的就是简化其他单元格的公式,降低公式理解的难度。例如,在这里可以事先将凭证库中的id字段值提取部分内容放置在A8:A11单元格内,具体的操作步骤如下:
- 在“凭证审核与打印”工作表中,从第4行开始,输入如图2.44所示的内容。
- 选中“开发工具”选项卡,选择“控件”组下的“表单控件”中的“按钮”控件,在如图2.44所示的位置添加一个命令按钮,将按钮上的标题更改为“凭证审核”。
- 选中“开发工具”选项卡,选择“控件”组下的“表单控件”中的“按钮”控件,在如图2.44所示的位置添加一个命令按钮,将按钮上的标题更改为“打印凭证”,完成表单控件的设计。
- 选中F2单元格,在编辑栏内输入公式“=ROUNDUP(COUNTIF(pzk[id],$C$2&"-"&$D$2&"-"&$E$2&"-*")/4,0)”,按回车键确认,完成凭证显示总页数的设置。
- 单击A8单元格,在编辑栏内输入公式“=$C$2 & "-" & $D$2 & "-" &$E$2 &"-" &(ROW()-7)+($G$2-1)*4”,完成第1行id的设定。
- 将A8单元格的公式复制到A9:A11单元格区域内,完成id的设定。
- 选中C5单元格,在编辑栏内输入公式“=E2”,完成凭证号的设置。
- 选中E5单元格,在编辑栏内输入公式“=LEFT(VLOOKUP(C2&"-"&D2&"-"&E2&"-1",pzk,2,FALSE),10)”,完成日期的设置。
- 选中G5单元格,在编辑栏内输入公式“=VLOOKUP(C2&"-"&D2&"-"&E2&"-1",pzk,16, FALSE)”,完成附件数的确认。
- 选中B8单元格,在编辑栏内输入公式“=IFERROR(VLOOKUP(A8,pzk,3,FALSE),"")”,完成摘要的提取。
- 选中B8单元格向下拖曳,将B8单元格的公式复制到B11单元格中,完成摘要信息的提取。
- 选中C8单元格,在编辑栏内输入公式“=IFERROR(VLOOKUP(A8,pzk,4,FALSE),"")”,完成科目代码的设置。
- 选中C8单元格向下拖曳,将C8单元格的公式复制到C11单元格中,完成科目代码信息的提取。
- 选中D8单元格,在编辑栏内输入公式“=IFERROR(VLOOKUP(A8,pzk,5,FALSE),"")”,完成总账科目内容的提取。
- 选中D8单元格向下拖曳,将D8单元格的公式复制到D11单元格中,完成总账科目内容的提取。
- 选中E8单元格,在编辑栏内输入公式“=IFERROR(VLOOKUP(A8,pzk,6,FALSE),"")”,完成明细科目的提取。
- 选中E8单元格向下拖曳,将E8单元格的公式复制到E11单元格中,完成明细科目内容的提取。
- 选中F8单元格,在编辑栏内输入公式“=IFERROR(VLOOKUP(A8,pzk,8,FALSE),0)”,完成借方金额的提取。
- 选中F8单元格向下拖曳,将F8单元格的公式复制到F11单元格中,完成借方金额的提取。
- 选中G8单元格,在编辑栏内输入公式“=IFERROR(VLOOKUP(A8,pzk,9,FALSE),0)”,完成贷方金额的提取。
- 选中G8单元格向下拖曳,将G8单元格的公式复制到G11单元格中,完成贷方金额的提取。
- 选中H8单元格,在编辑栏内输入公式“=IF(COUNTIFS(pzk[id],A8,pzk[审核],"已审核")=1,"√","")”,完成审核信息的提取。
- 选中H8单元格向下拖曳,将H8单元格的公式复制到H11单元格中,完成审核标志的设置。
- 选中F12单元格,在编辑栏内输入公式“=IF($F$2=$G$2,SUMIF(pzk[id],$C$2&"-"&$D$2&"-"&$E$2&"-*",pzk[借金额]),"")”,完成凭证借方合计的计算。
- 选中G12单元格,在编辑栏内输入公式“=IF($F$2=$G$2,SUMIF(pzk[id],$C$2&"-"&$D$2&"-"&$E$2&"-*",pzk[贷金额]),"")”,完成凭证贷方合计的计算。
3.设置条件格式
审核或者打印凭证的时候会有两个显而易见的错误需要处理,一个错误是当前页号超过了最大的总页数,另一个错误是合计的借方金额与贷方金额不相等。处理这些错误的方式是对这些简单的错误使用明显的样式标示出来,具体的操作过程如下:
- 选中F2:G2单元格区域,单击“开始”选项卡,执行“样式”组中“条件格式”下的“新建规则”命令,在打开的对话框中选择“使用公式确定要设置格式的单元格”命令,打开如图2.45所示的“新建格式规则”对话框,在“为符合此公式的值设置格式”中设定公式为“=$G$2>$F$2”。
- 单击图2.45中的“格式”按钮,选择“填充”选项卡,选择红色作为填充色,单击“确定”按钮,完成F2:G2条件样式的设置。
- 选中F12:G12单元格区域,单击“开始”选项卡,执行“样式”组中“条件格式”下的“新建规则”命令,在打开的对话框中选择“使用公式确定要设置格式的单元格”命令,打开“新建格式规则”对话框,在“为符合此公式的值设置格式”中设定公式为“=$G$12<>$F$12”。
- 单击对话框中的“格式”按钮,选择“填充”选项卡,选择红色作为填充色,单击“确定”按钮,完成F12:G12条件样式的设置。
4.审核凭证
审核凭证发生在审核人员查看凭证之后,当用户通过上述步骤调出指定的凭证后,如果确认审核无误,就可以为凭证库中的审核字段添加审核标记。进行审核操作需要使用录制宏的方式来解决,具体的操作过程如下:
- 选择“开发工具”选项卡,执行“代码”组内的“录制宏”命令,打开“录制新宏”对话框,将宏名称更改为“凭证审核”,单击“确定”按钮,开始录制宏。
- 选中“凭证库”工作表,选中“数据”选项卡中“排序和筛选”组内的“高级”命令,打开“高级筛选”对话框,在列表区域输入“pzk[#全部]”,单击条件区域后的折叠按钮,选中“凭证审核与打印”工作表中的C1~E2单元格区域,单击“确定”按钮,完成高级筛选的操作。
- 同时按键盘上的Ctrl+G键,打开如图2.47所示的“定位”对话框,在“引用位置”中输入“=pzk[[#数据],[审核]]”,单击“确定”按钮,定位到指定的位置。
- 输入“已审核”,同时按键盘上的Ctrl和回车键,将选中的单元格区域都填充同样的内容。
- 选中A1单元格,选中“数据”选项卡,执行“排序和筛选”组下的“清除”命令,再次选中“凭证审核与打印”工作表,回到原先的界面。
- 选中“凭证审核与打印”工作表,单击在“开发工具”选项卡的“代码”组内的“停止录制”命令,完成宏的录制。
- 在“凭证审核”按钮上右击,执行“指定宏”命令,打开“指定宏”对话框,选择“凭证审核”项,单击“确定”按钮,完成指定宏的设置。
当通过上述设置后,只要单击指定的“审核”按钮,即可“审核”指定的凭证。具体的操作过程如下:
- 在C2单元格中输入2018,在D2单元格内输入数值1,在E2单元格内输入数值1,在G2单元格内输入数值1,如图2.48所示,完成审核条件的设置。
- 单击“凭证审核”按钮,完成凭证审核操作。审核后,在审核一栏,凡是已经被审核的记录都出现了审核标志“√”,如图2.49所示。
- 单击G2中的数值调节按钮,将当前页数从1更改为2,就可以看到调出的最后一笔记录已经被审核了,如图2.50所示。
- 单击E2单元格内的数值调节按钮,将凭证号更改为2号,完成凭证号的设置。
- 单击“凭证审核”按钮,完成凭证审核操作。审核后,在审核一栏,凡是已经被审核的记录都出现了审核标志“√”,如图2.51所示。
5.打印凭证
对于已经添加审核标志的凭证可以通过打印输出保存装订。打印凭证实际上就是指定一个打印区域,单击打印按钮就执行打印操作,只需要对该操作录制一个宏并指定给一个按钮,今后只需要单击该按钮即可完成打印,具体的操作步骤如下:
- 在“凭证审核与打印”工作表中选中B4单元格,按住Shift键不放,再次选中H13单元格,完成打印区域的选择。
- 选中“页面布局”选项卡,执行“页面设置”组中“打印区域”下的“设置打印区域”命令,完成打印区域的设定。
- 选择“开发工具”选项卡,执行“代码”组内的“录制宏”命令,打开“录制新宏”对话框,将宏名称更改为“打印凭证”,单击“确定”按钮,开始录制宏。
- 单击“文件”按钮,执行“打印”菜单下的“快速打印”命令,完成打印操作。
- 单击在“开发工具”选项卡,执行“代码”组内的“停止录制”命令,完成宏的录制。
- 在“凭证审核”按钮上右击,执行“指定宏”命令,打开“指定宏”对话框,选择“打印凭证”项,单击“确定”按钮,完成指定宏的设置。
用户正确设置了打印机后,只需要单击“打印凭证”按钮即可将屏幕中的记账凭证内容打印出来。以1月第2号凭证为例,最终打印出来的凭证如图2.52所示。
6.公式保护
一张到处都是公式的工作表是非常脆弱的,操作人员的任何疏忽都会导致整个系统的崩溃。为了避免这样的情况,需要对包含有公式的单元格进行单元格保护操作,这个过程被称为工作表保护。当工作表处于被保护状态的时候,那些预先被锁定的单元格是无法被更改内容的,但是公式计算的结果能够正常显示。
保护工作表通常要经过如下几个步骤:
- 全选工作表,将所有单元格都设置为未“锁定”状态。
- 选中要保护的单元格,将这些单元格设置为“锁定”状态。
- 为工作表设置保护密码。
保护“凭证审核与打印”工作表的具体操作步骤如下:
- 打开“凭证审核和打印”工作表,单击工作表行号和列标交叉处,或者按Ctrl+A键,完成对工作表的全选。
- 右击,执行“设置单元格格式”命令,打开“设置单元格格式”对话框,单击“保护”标签,将“锁定”前的勾选去除,单击“确定”按钮,如图2.53所示,解除对所有单元格的锁定。
- 按住Ctrl键的同时,选中工作表中所有使用公式的单元格,完成对需要保护单元格的选择。
- 在选中的任意一个单元格上右击,执行“设置单元格格式”命令,打开“设置单元格格式”对话框,单击“保护”标签,将“锁定”勾选,单击“确定”按钮,完成对单元格的锁定。
- 单击“开始”选项卡,选择“单元格”组内的“格式”,执行“保护”下的“保护工作表”命令,打开“保护工作表”对话框,如图2.54所示。输入解除保护的密码,例如输入“1234”,程序以“*”号显示密码,单击“确定”按钮,打开“确认密码”对话框,再次输入“1234”,单击“确定”按钮,完成对工作表的保护设定。
将已经创建完毕的1月的凭证按照凭证号逐张查看后审核通过,并标记上审核标志,最终将凭证打印出来。