优秀的编程知识分享平台

网站首页 > 技术文章 正文

自己动手用Excel制作会计凭证汇总系统02

nanyue 2025-03-19 00:40:46 技术文章 7 ℃

大家按照上期的思路做出Excel会计凭证汇总文件了吗?

在上期文末我抛出的对利润表本年累计金额动态求和,大家有方案了吗?今天我抛砖引玉做出了一个方案,通过选择所属期,得到截止到所属期的利润表本年累计金额,下面介绍如下。

对了,我在做这个工作之前,先完善了“科目表”的所有月份,也就是增加了1至12月份的借、贷方及余额的列字段,并对列字段进行了条件格式设置,以明确当前期间及累计数据包括的期间。

通过条件格式设置,在“科目表”中当前期间的表头显示为黑字绿底,小于该期间的显示为黑字浅绿底。

然后,在超级表“科目表”的最右边新增两列字段,分别为“TOTAL_DR”、“TOTAL_CR”,用以计算截止本所属期止的借方、贷方累计金额。

在这里主要是应用了“SUMPRODUCT”函数,该函数是Excel中一个非常实用且功能强大的函数,主要用于在给定的几组数组之间,先将对应元素相乘,然后将相乘结果相加。

例如:在“AS5”单元格中输入以下公式:

“=SUMPRODUCT(科目表[@[01_DR]:[12_余额]]*(RIGHT(科目表[[#标题],[01_DR]:[12_余额]],2)="DR")*参数!$D$1:$AM$1)”

在这个公式中引用了三个数组相乘。

第一个数组为“科目表[@[01_DR]:[12_余额]]”,该数组为当前行从“01_DR”列到“12_余额”列的数据区域,为主要数据求和区域。

第二个数组为“(RIGHT(科目表[[#标题],[01_DR]:[12_余额]],2)="DR")“,该数组为超级表标题行,引用区域与第一个数组引用区域相匹配,利用RIGHT函数,截取标题行列标题右2个字符与”DR“比对,从而形成一组”TRUE、FALSE“相间的数组,即当截取的2个字符等于”DR“时为TRUE,否则为FALSE。当然一定要记住在Excel中,TRUE为1,FALSE为0。通过该数组控制只对“DR”列求和,其他列为0。

第三个数组为”参数!$D$1:$AM$1”,该数组是在“参数”工作表中设置的,在“C1:C15”中设置当当前期间大于等于对应月份,该值为1,否则为0,再在“D1:AM1”区域三个一组等于“C1:C15”对应值,这样形成该数组。通过该数组控制只对小于等于当前期间的数据求和,其他列为0。

通过上述设置,就可以计算出所需要的数据,利润表的“本年累计金额”只要按对应行次,利用SUMIF函数对应求和即可。

下次我们再研究探讨凭证汇总的课题吧。

欢迎喜欢的朋友点赞、评论、转发加关注,在大家的共同努力下,来完善此套表格,实现凭证输入、二级明细科目管理等功能,让我们共同学习、共同进步。

有需要的朋友,可以私信我得到源文件。

最近发表
标签列表