30分钟工作1秒完成 公司合同首付款按是否完成分列汇总 ExcelVBA字典加工作表函数

14 次浏览

需求说明

 

在日常合同管理工作中,经常遇见按公司汇总求和金额的问题,今天我们来解决关于分列多条件汇总的问题,即根据合同金额,以及收录金额和是否完成的标识,来汇总计算得到合同金额,已录收金额,未录收金额,其他金额。

本案例没使用VBA之前我每次做一次表要30分钟,隔几天就要做一次,vba代码写完后每次一秒完成统计。

这个案例我按老师的提示,在还不是很熟悉字典求和的情况下,只用了字典去重,然后结合vlookup和sum函数,也在vba里实现了这个一键汇总,希望各位新手也能学会!

知识点:

  • VBA字典去重
  • ExcelVBA单元格循环
  • Vba中使用公式

由于本文图片尺寸较大 请大家尽量收藏转发后 到电脑端大屏查看学习,效果更佳!
如数据下图:

30分钟工作1秒完成 公司合同首付款按是否完成分列汇总 ExcelVBA字典加工作表函数插图

结果如下:

30分钟工作1秒完成 公司合同首付款按是否完成分列汇总 ExcelVBA字典加工作表函数插图1

下面我们讲一讲基本步骤

循环数据区公司装入字典去重

1 、首先需要定义一些变量和字典对象,和大家一样,最开始这个字典对象很长,总是记不住,不过还好有工具可以帮助我们快速输入,安装VBA代码助手插件(vbayyds.com)后,只需要输入 dimd四个字母,然后空格就会得到提示 按下Tab键即直接输入字典的定义, 即使是第一天学vba的同学,也不怕记不住代码了!

30分钟工作1秒完成 公司合同首付款按是否完成分列汇总 ExcelVBA字典加工作表函数插图2

2、 写循环语句,循环最大行,使用VBA代码助手输出字典单元格行循环 ,这里从第3行开始循环 ,输入Fori 空格即可得到完整提示,按下Tab键就可以直接输入3行代码

30分钟工作1秒完成 公司合同首付款按是否完成分列汇总 ExcelVBA字典加工作表函数插图3

3 、将数据源的第3列装入字典的关键字key ,条目为空, 得到项目名称的不重复值

并装置输出到单元格

30分钟工作1秒完成 公司合同首付款按是否完成分列汇总 ExcelVBA字典加工作表函数插图4

30分钟工作1秒完成 公司合同首付款按是否完成分列汇总 ExcelVBA字典加工作表函数插图5

 

循环字典的关键字调用工作表函数完成汇总

4、接下来,循环字典的个数取出关键字(项目名称), 利用 VLookup函数,得到合同金额 用SumIfs函数 ,得到已录收金额,未录收金额,其他金额。

30分钟工作1秒完成 公司合同首付款按是否完成分列汇总 ExcelVBA字典加工作表函数插图6

 

当然这个问题还有更好的解决方法,就是直接使用数组字典求和,不过新手的话,用公式可能更好理解!

案例文件下载地址

请关注微信公众号EXCEL880 公众号主页回复25202

2022世界杯赛程表 Excel版 输入比分自动计算积分和下一轮插图5

好了,今天有关在Excel中分列汇总的问题便介绍到这,大家赶紧实际操作练习一下吧,有不懂的问题可以留言问小编呦!感谢支持Excel880工作室,还请多多转发,持续关注我们呀!

特别推荐使用VBA代码助手,再也不怕记不住代码

VBA代码助手下载地址

最后,像大家推荐郑老师的VBA代码助手(下载地址vbayyds.com)

只需输入关键字,就能将收藏过的代码整个带出来,太赞了

比如上面代码中的字典 数组输出之类都只需要打几个字就出来

我上面的整段代码 也可以收藏起来 下次类似问题

输入 考勤 2个字 就可以调出完整代码了 然后tab键即可输入

30分钟工作1秒完成 公司合同首付款按是否完成分列汇总 ExcelVBA字典加工作表函数插图8