首页  >  Excel

我用Excel做了个自动对账工具,财务总监说给我加薪

Excel 2026-06-18 09:50:12 0

一切的开始:两张对不上号的表

上个月老板丢给我两张表,一张是系统导出的销售明细,一张是财务给的收款记录。"帮我核对一下哪些款没收。"他说完就走了,留我对着两个Excel文件发呆。

两张表大概都有三千多行,日期格式还不一致——一边是2024/3/15,另一边是2024-03-15。我当时心想,这得对到什么时候?

后来我用不到半小时搞定了这件事。不是因为我厉害,是因为我终于搞懂了几个关键函数和透视表的配合。今天把这个过程写下来,希望对你有用。

Excel对账表格截图

第一步:先让两张表的"身份证"统一

对账的核心是什么?就是找到每笔交易的唯一标识,然后看两边是否匹配。我这边用的是订单编号。但问题来了——系统导出的订单号前面有"DD2024"前缀,财务那边只有纯数字。

这时候别手动改,用一个公式就搞定。假设A列是原始订单号"DD20240315001",在B2输入:

  • =RIGHT(A2,6) 提取后6位,得到"0315001"... 不对,位数不对。
  • 换个思路:=MID(A2,7,10) 从第7位开始取10位,得到"0315001",这才对。

说实话我一开始也懵的,MID函数的三个参数折腾了好几次。MID(文本, 起始位置, 字符数),起始位置是从1开始数的,不是从0。这个坑我踩过不止一次。

另一边的表也要做类似处理,总之就是让两边的订单号格式完全一致。我后来发现还有个更灵活的方法——用TEXT函数统一格式:=TEXT(A2,"0000000000"),这样不管原始数据长什么样,都能补齐到10位。

第二步:VLOOKUP找出谁"消失"了

现在两张表的订单号格式统一了。接下来要做什么?把财务表里的每笔订单去系统表里搜,搜到的就是已对上的,搜不到的就是"失踪款"。

在财务表的D2输入这个公式:

  • =VLOOKUP(C2, 系统表!$A$2:$A$3500, 1, FALSE)

解释一下:C2是财务表的订单号,去系统表的A列里找精确匹配(FALSE就是精确匹配)。如果找到了就返回订单号本身,找不到就返回#N/A。

然后筛选D列的#N/A,就是系统里有记录但财务没收到的——反过来再查一遍,就能找到财务收了但系统没记录的。两边都查完,对账基本就清楚了。

VLOOKUP公式演示

第三步:数据透视表做汇总,老板一眼看懂

光找出差异还不够,老板要看的是汇总。这时候数据透视表就派上用场了。

选中整理好的数据区域,插入,数据透视表。把"月份"拖到行区域,"金额"拖到值区域,"对账状态"拖到列区域。一瞬间就能看到每个月已对账、未对账的金额分别是多少。

我还加了一个计算字段,用IF公式标记差异原因:金额不匹配的标"金额异常",单边出现的标"单边账"。这样老板打开文件就能直接看,不用问我。

对了,有个小技巧很多人不知道:数据透视表右键,数据透视表选项,布局和格式,勾选"对空单元格显示0"。不然报表里全是空白的,看着很难受。

后来呢

我把这个文件发给财务总监的时候,他回了一句:"你什么时候学的Excel?"我说:"昨晚。"其实哪有昨晚,就是一点点查的。

后来这个模板每个月用一次,每次只需要替换原始数据就行。公式都写好了,替换完刷新透视表,五分钟出结果。

如果你也经常要做对账类的工作,真的建议把VLOOKUP和数据透视表好好学一下。不需要学多深,就这两个组合,能解决80%的核对场景。B站搜"Excel对账"也能找到不少教程,但我觉得自己动手做一遍,印象最深。

excel 教程 办公软件 数据
版权声明

本文来自投稿,不代表本站立场,转载请注明出处。

下一篇:返回列表

分享:

扫一扫在手机阅读、分享本文