很多人做试算平衡表的路径是这样的:凭证在Excel里录了一份,月底打开一张新表,把每个科目的发生额一个个手工敲进去,敲完看借贷合计差多少,差得多就回头翻凭证,翻到眼睛发酸。这个方法不是不行,但它把Excel当成了算盘——只用了加法,没用引用、没用条件判断、没用校验。真正省时间的做法是让分录流水成为唯一的数据源,试算平衡表上除了科目编码以外全部靠公式长出来,人只需要盯住"哪里不平"这四个字。
这篇内容聊的是怎么用Excel把总账和试算平衡表编制这件事做扎实:数据结构怎么摆、期末余额的方向怎么判断、SUMIFS怎么带月份条件、不平的时候按什么顺序去查、以及那些"表平了但账其实是错的"情况怎么防。适合手上科目在几十到一两百个之间、用Excel记账的小团队财务,也适合刚接手总账岗、想把月度结账流程理顺的同行。下面全部是我自己在实际做账中踩出来的东西,不是教科书复述。
1. 先搞清楚试算平衡表在Excel里究竟平衡的是什么
1.1 从手工T型账到电子表格,本质只做了一件事
手工账时代,会计在草稿纸上画T型账户,左边记借方右边记贷方,每个科目画一个,最后把所有T型账的借方合计和贷方合计各自加总,看两边是否相等。这个过程在Excel里其实可以压缩成一行公式,前提是你得先把"每个科目一列"的思维扔掉。
我见过不少人的表是这样的:A列科目名,B列期初余额,C列本期借方,D列本期贷方,E列期末余额——看着挺对,但C列和D列是手工敲的。这就回到了最原始的体力活。真正应该发生的事是:C列和D列由分录明细自动汇总,你只维护分录明细这一张流水表,试算平衡表是它的一个"视图"。
这个思路转换的好处在于一致性。手工敲发生额,一百多个科目里敲错一个数字、少敲一个明细科目,你是发现不了的,因为试算平衡只校验总数,不校验过程。而公式汇总只要科目编码对得上,漏掉的可能性基本为零——除非你分录表本身的科目编码打错了,这个后面单独说。
所以第一件事是把三张表的关系定死:科目表定义有哪些科目、什么类别、余额在借方还是贷方;分录表记录每一笔业务的日期、凭证号、科目、借贷金额;试算平衡表只做汇总和校验,不存任何手工录入的数字。三张表之间只有科目编码这一个连接键,其他全是公式。
1.2 三组平衡关系,各自能查出什么、查不出什么
试算平衡不是一道题,是三组题,很多人只做了第一组。
第一组是发生额平衡:全部科目本期借方发生额合计 = 贷方发生额合计。这一组在分录表层面就能算,甚至不需要科目表参与,用=SUM(借方列)和=SUM(贷方列)一比就出来了。它是最好查的一组,也是最容易被误认为"账没问题"的一组。
第二组是余额平衡:全部科目期末借方余额合计 = 期末贷方余额合计。这一组要求你先把每个科目的期末余额方向算对,难度立刻上来了。如果某个资产类科目算出了贷方余额,试算平衡表本身可能还是平的,但那是一个明确的异常信号——库存现金出现贷方余额,说明要么漏记了收款,要么多记了付款。
第三组是期初、本期、期末的勾稽:期末余额 = 期初余额 + 本期增加 − 本期减少。这一组不做,前两组全是空中楼阁,因为你没法确认期初数是从上个月正确结转过来的。
下面这张表是我自己总结的,把常见错误和"试算平衡能不能抓到"对应起来,建议贴在工位旁边:
| 错误类型 | 发生额平衡能否发现 | 余额平衡能否发现 | 说明 |
|---|---|---|---|
| 单边漏记(只记借不记贷) | 能 | 能 | 差额等于漏记金额 |
| 借贷金额录错但方向对 | 不能 | 不能 | 两边同错同额,总数照样平 |
| 整笔凭证漏录 | 不能 | 不能 | 相当于这笔业务从未发生 |
| 借贷方向整笔记反 | 不能 | 不能 | 借贷互换,合计不变 |
| 科目用错(串户) | 不能 | 不能 | 借贷仍相等,只是科目错了 |
| 金额数字错位(1200记成120) | 能 | 能 | 差额是9的倍数 |
| 借贷方向单边记反 | 能 | 能 | 差额是错误金额的2倍 |
| 期初余额结转时正负号弄反 | 视情况 | 能 | 期末余额方向异常 |
看懂这张表,你就明白为什么有经验的老会计从不把"试算平衡了"当作收工信号。试算平衡只解决"借贷是否相等"这一个数学问题,它管不了业务实质。真正能兜住后面几类错误的,是银行存款余额调节、往来明细对账、存货盘点这些实质性的核对程序。Excel能帮你的是:把能用数学抓到的错误全部自动抓出来,让你省下时间去干那些数学抓不到的事。
2. 建表之前的那半小时,决定了后面每月的工作量
2.1 四张表的分工与字段定义
我现在的模板是四张表,不是三张,多出来的一张是"期初余额表",单独放,理由是期初数每月都要更新一次,混在试算平衡表里容易被公式覆盖掉。
科目表(Sheet名:科目表)字段就六个:科目编码、科目名称、科目类别、余额方向、上级科目编码、是否末级。科目类别分资产、负债、共同、权益、成本、损益六类,损益类里再细分收入还是费用,可以用类别列直接写"损益-收入""损益-费用",省一个字段。余额方向只有"借""贷"两个值,这一列是后面判断期末余额方向的关键,不能省。
期初余额表字段:科目编码、科目名称(用VLOOKUP带出来,不要手打)、期初借方余额、期初贷方余额。注意这里我用的是"借方余额""贷方余额"两列而不是"余额"加"方向"两列,因为两列写法在做SUM的时候天然对齐,不需要再套IF。
分录表字段:日期、凭证字号、摘要、科目编码、科目名称(VLOOKUP)、借方金额、贷方金额。凭证字号建议用"记-001"这种带前缀的格式,方便和日期组合成唯一键。
试算平衡表字段:科目编码、科目名称、余额方向、期初借方、期初贷方、本期借方发生、本期贷方发生、期末借方余额、期末贷方余额。九个字段里,只有第一个是手工填的(或者从科目表拉过来),后面八个全是公式。
提示:科目编码这一列一定要设置成"文本"格式再录。我吃过这个亏——科目编码"1001"和"10010"在某些格式下会被当成数字比较,导致SUMIFS把明细科目和一级科目的数混在一起汇总,差额怎么找都找不到,最后发现是格式问题,浪费了大半天。
2.2 科目编码的层级,直接决定你后期能不能一键出报表
小企业图省事,科目编码就四位,一级科目到底,明细靠科目名称区分。这个做法在科目数少于三十个的时候勉强能用,一旦过了五十个,名称就开始打架——"应收账款-某客户"出现三个不同写法,"其他应收款-备用金"和"其他应收款-员工借款"到底算不算一个东西,全凭记忆。
我的建议是按"4-2-2"编码:一级科目四位(照着常用科目体系来),二级两位,三级两位。比如1002是银行存款,100201是基本户,10020101是某个具体账户。编码长度不统一没关系,Excel照样能处理,关键是上级科目的汇总要能自动算出来。
具体做法是在试算平衡表里加一列"层级",用=LEN(科目编码)判断,四位是一级,六位是二级,八位是三级。然后一级科目的发生额不要用SUMIFS按编码匹配,而是用通配符:
=SUMIFS(分录表!$F:$F, 分录表!$D:$D, $A2&"*", 分录表!$A:$A, ">="&$B$1, 分录表!$A:$A, "<="&EOMONTH($B$1,0))这里$A2&"*"的意思是"以这个编码开头的所有科目",1002*会把1002、100201、10020101全部抓进来。这个写法的前提是编码设计成前缀包含关系,也就是上级编码必须是下级编码的开头部分。如果你的编码是"1002"和"A1002"这种,通配符就失效了,得老老实实用辅助列标记上级。
代价是:一级科目的公式和明细科目的公式不一样,一级用通配符,明细用精确匹配。管理方式有两种,一种是在表里加一列"是否汇总行",用IF分流;另一种更干净——试算平衡表只列末级科目,一级科目的汇总单独放在另一张"科目余额表"里。我个人推荐后者,因为试算平衡表的目的是校验,不是出报表,末级科目才能暴露出串户问题。如果一级科目在试算表里也出现,它的发生额是明细的加总,等于把同一个数算了两遍,借贷合计会翻倍,你就永远平不了。
这一点是新手最容易翻车的地方:做出来的表借贷两边差得离谱,一查发现一级科目和明细科目都列进去了。
3. 分录流水表是整个体系的地基,脏数据都从这里来
3.1 字段虽少,录入约束一个都不能少
分录表的字段前面列了七个,看着简单,但真正的功夫在约束上。人录入一定会错,问题是怎么让错误在录入的当下就被拦住,而不是等月底试算不平了再回头大海捞针。
第一个约束是借贷不能同时为空,也不能同时有值。这个用数据验证做。选中借方金额列(假设是F列,从F2开始),数据验证 → 允许"自定义" → 公式填:
=OR(AND($F2<>"",$G2=""),AND($F2="",$G2<>""))贷方金额列G列用同一个公式。这样录入时,如果你在一行里同时填了借贷两边,或者两边都空着,Excel会直接弹窗拒绝。这个约束拦下的是"一行记了两个金额导致合计翻倍"这类低级但高频的错误。
第二个约束是科目编码必须是科目表里存在的值。这个用数据验证的"序列",来源指向科目表的编码列。缺点是科目多了以后下拉框很长,但比起月底发现有个科目编码打错一位、SUMIFS汇总不到,这点麻烦值得。更好的替代方案是数据验证允许任意值,但旁边加一列辅助公式=COUNTIF(科目表!$A:$A,$D2)=0,为真时条件格式标红。这样录入速度快,错了也能立刻看见。
第三个约束是金额必须是非负数。这条不是洁癖,是为了让"方向"这个概念只由借方列和贷方列的位置来表达,而不是靠正负号。一旦允许负数进借方列,你的SUM就失去了意义——借方正数和负数混在一起,发生额合计变成净额,试算平衡表彻底废掉。
注意:红字冲销不要用负数金额。正确做法是原凭证做一笔反向分录,借贷列对调,金额填正数。这样发生额合计是虚增的,但余额是对的,而且每一笔都能追溯到原始凭证。用负数会污染发生额统计,尤其是你需要算某个科目的"本期借方发生额"用于报表附注的时候,负数会让这个数字失去业务含义。
3.2 用条件格式把"单张凭证不平"当场标出来
分录表按月可能会有几百上千行,每张凭证两行以上,靠眼睛看是看不出哪张不平的。做一列辅助列,专门算"同一张凭证的借贷差额"。
关键点在于凭证的唯一标识。如果凭证字号是"记-001",每个月都会重号,那就必须把日期和凭证字号拼起来:
=$A2&"|"&$B2放在H列(辅助列,可以隐藏)。然后I列写:
=SUMIFS($F:$F,$H:$H,$H2)-SUMIFS($G:$G,$H:$H,$H2)这个公式的含义是"这张凭证的借方合计减去贷方合计"。正常应该等于0。然后用条件格式,选中I列,规则"单元格值不等于0",填充红色。
录完一张凭证,只要I列红了,当场就知道这张不平。这个反馈是即时的,比月底集中排查效率高一个数量级。我自己的习惯是把I列放在最右边不隐藏,因为红色的视觉冲击比数字本身更有提醒作用。
还有一个衍生用法:在分录表顶部放一个总控格,=SUM(I:I),如果这个数不等于0,说明整个月的凭证里至少有一张不平。这个格子用条件格式标成绿色/红色,整个表一眼就能看出状态。
4. 把发生额从流水里抽出来:SUMIFS的写法与坑
4.1 带月份条件的借方、贷方发生额公式
试算平衡表里的"本期借方发生""本期贷方发生"两列,公式如下(假设试算平衡表A2是科目编码,B1是当月的第一天,比如2024-06-01):
本期借方发生 = SUMIFS(分录表!$F:$F, 分录表!$D:$D, $A2, 分录表!$A:$A, ">="&$B$1, 分录表!$A:$A, "<="&EOMONTH($B$1,0)) 本期贷方发生 = SUMIFS(分录表!$G:$G, 分录表!$D:$D, $A2, 分录表!$A:$A, ">="&$B$1, 分录表!$A:$A, "<="&EOMONTH($B$1,0))几个细节值得说清楚。
EOMONTH($B$1,0)返回当月最后一天,比手写"2024-06-30"好在月份换了下个月自动变,不用改公式。如果用的是较早版本的Excel没有EOMONTH,用DATE(YEAR($B$1),MONTH($B$1)+1,0)替代,效果一样。
日期条件的写法是">="&$B$1,不能写成">=$B$1"。前者是把比较符号和单元格值拼接成一个字符串,后者Excel会当成一个纯文本去找,永远匹配不上。这个坑我踩过不止一次。
如果分录表的日期列里有文本格式的日期(从别的系统导出来常见),比较会失败。检查方法是选中日期列看状态栏的求和是不是0,是0说明全被当成文本了。这时候用"分列"功能,第三步选"日期",把整列转成真日期,别用格式刷,格式刷改不了实质。
如果不想每月改B1,可以把B1做成下拉选择月份,或者干脆让分录表只装当月数据、历史数据归档到另一个文件。后者更适合小团队,因为分录表越积越长,SUMIFS整列引用会越来越慢。
4.2 期末余额的方向判断,是这套表最容易写错的一行
期末余额这一步,很多人写成:
期末余额 = 期初余额 + 本期借方 - 本期贷方对于资产类科目这是对的,对于负债和权益类科目就完全反了。而且对"应收账款"这种可能出贷方余额的科目,一个数算出来是正是负,你没法判断它该落在借方还是贷方。
我的写法是分两列,先算净额,再按方向拆分:
借方净额 = 期初借方 + 本期借方发生 贷方净额 = 期初贷方 + 本期贷方发生 期末借方余额 = IF(借方净额>贷方净额, 借方净额-贷方净额, 0) 期末贷方余额 = IF(贷方净额>借方净额, 贷方净额-借方净额, 0)代入单元格(假设期初借方C列、期初贷方D列、本期借方E列、本期贷方F列):
期末借方 = IF(($C2+$E2)>($D2+$F2), ($C2+$E2)-($D2+$F2), 0) 期末贷方 = IF(($D2+$F2)>($C2+$E2), ($D2+$F2)-($C2+$E2), 0)这个写法的好处是:它不预设科目是资产还是负债,纯靠数字大小决定方向。资产类科目正常会出现借方余额,出现了贷方余额那就是异常,你能立刻看见。负债类反过来。同时它天然满足"期末借方合计 = 期末贷方合计"这个恒等式,因为两个IF是互斥的,差额全部落在其中一边。
再往上一层,加一列"方向异常"标记:
=IF(AND(C2<>"借",I2>0),"余额方向异常","")这列的C2是科目表的余额方向,I2是期末借方余额。意思是"这个科目本该是贷方余额,现在跑出借方余额了"。现金、银行存款、库存商品这类科目跑出这个标记,基本可以确定有漏记或者串户。
4.3 一级科目的汇总口径,别把同一个数算两遍
前面提到试算平衡表只列末级科目。但月末出资产负债表的时候需要一级科目的数,所以另外做一张"科目余额表",公式用通配符汇总:
=SUMIFS(试算平衡表!$I:$I, 试算平衡表!$A:$A, $A2&"*")这里要注意,如果一级科目本身在试算表里也有一行(通常是没有的,因为一级科目不是末级),汇总会出现重复。检查方法是看科目表的"是否末级"列,试算平衡表只从"是"的行生成。用一个筛选就能确认。
另一个细节:$A2&"*"的通配符匹配是前缀匹配,如果你的科目编码存在"1002"和"10020"这种长度不同但前缀相同的情况,1002*会把10020也抓进来。这不是bug,是设计如此——10020本来就是1002的下级。真正要小心的是编码设计混乱,比如"1002"下挂了一个"1101"开头的科目,通配符就抓不到了。所以编码规范不是形式主义,它直接决定了公式能不能用。
5. 表不平的时候,按这个顺序查,不要乱翻
5.1 先看差额的性质,再决定往哪个方向查
试算平衡表最下面放一行合计,借贷各一个,再放一个差额格=借方合计-贷方合计。这个差额的性质,直接告诉你该查什么。
差额是2的倍数:大概率是某笔金额的借贷方向记反了。比如一笔1000元的支出,本该借费用贷银行,结果两行都填在了借方列,那么借方多1000、贷方少1000,差额就是2000。查法是把差额除以2,得到1000,然后在分录表里筛选金额等于1000的行,逐条看方向。
差额是9的倍数:数字错位的典型特征。1200记成120,差额1080,1080÷9=120,说明错的是120这个数。这个规律来自十进制:任何数与其数字重排后的差都是9的倍数。查法是把差额除以9,得到的是"错位后的那个数"或"原数",两个都去筛一遍。这个方法我在实际查账中用过三四次,每次都灵。
差额是个整数,且能被某个常见金额整除:想想这个月有没有整数金额的业务,比如房租、工资、备用金。这类业务的凭证往往金额整齐,容易录错。
差额带小数尾差:多半是四舍五入或者分位录入的问题。把分录表的借方列单独求和、贷方列单独求和,看是不是某一列本身就带了小数。还有一种可能是金额列里有文本格式的数字,SUM会漏掉它们,但显示上还在。检查方法是选中金额列,状态栏的求和与你自己框选求和的数是否一致。
差额恰好等于某个科目的发生额:说明这个科目的数被算了两遍或者漏了一遍。常见原因是这个科目在试算平衡表里出现了两行,或者它的编码前缀和另一个科目冲突,被通配符重复抓取了。
5.2 用辅助工具把排查变成筛选,而不是肉眼扫描
差额法能定位到"某类错误",但要找到"具体哪一行",还得靠工具。我常用的有三个。
第一个是透视表。把分录表的三列(凭证字号、借方金额、贷方金额)拖进透视表,行放凭证字号,值放两个金额的求和,然后加一个计算字段=借方-贷方。所有不为0的行会自动排在一起,一眼就能看到哪几张凭证不平。这比条件格式更适合事后排查,因为可以排序、可以筛选、可以只看不平的。
第二个是筛选加辅助列。在分录表加一列=IF(ABS(借方-贷方)=差额, "疑似", ""),其中差额引用试算表那个差额格。这招在差额明确的时候特别好用,直接把"疑似"筛出来,通常就几行。
第三个是余额倒推。如果差额一直查不出来,换个角度:从试算平衡表的期末余额出发,逐科目和明细账、和银行对账单、和往来对账函比对。有时差额不在分录里,而在期初结转。我遇到过一次,查了三天分录,最后发现是上个月的期初表在复制粘贴时多带了一行合计行,导致期初借方虚增。
提示:排查的时候一定要在副本上操作。我习惯在动手之前先另存为"XX月_排查版",因为排查过程中经常会临时插入辅助列、删行、改公式,一旦改乱了想回退都难。原文件留着,改坏了重新复制一份,成本几分钟,比重新录入一遍分录便宜太多。
5.3 平了但是错了:试算平衡查不出的四类问题
前面那张表已经列过,这里展开说,因为这几类才是真正会造成报表失真的。
整笔凭证漏录。这是最隐蔽的。借贷同时没录,试算平衡照样平,但业务实质漏掉了。防的办法只有一个:凭证编号连续。在分录表里按凭证字号做去重统计,看编号有没有断号。用辅助列=COUNTIF($B:$B,$B2)每行都是1或2以上,再用=SUMPRODUCT(1/COUNTIF($B$2:$B$500,$B$2:$B$500))算唯一凭证数,和凭证册的实际张数比对。
借贷方向整笔记反。比如一笔银行收款本该借银行贷应收,结果录成了借应收贷银行。两个科目都动了,金额也对,试算完全平,但两个科目的余额都错了。这类错误只能靠余额方向检查——应收账款出现贷方余额、银行出现负数,都是信号。
串户。科目用错,比如把"管理费用-办公费"记成了"管理费用-差旅费"。试算平,总额对,明细错。这个只能靠明细科目之间的合理性检查,比如某个月差旅费突然是平时的五倍,就得回头看看是不是串了。
金额同错。两边都录成1000,实际应该是10000。试算平,但整体少记。这类错误最没办法,靠的是和外部单据核对——银行流水、发票金额、合同金额。
这四类的共同点是:它们都不是数学问题,是业务问题。Excel能帮你做的是把数学问题清零,让你有精力去盯这些业务问题。所以每月结账我必做的三个动作是:凭证断号检查、余额方向异常筛选、以及金额最大的前十张凭证逐张翻原始单据。
6. 让模板能月月复用,而不是每月重建一遍
6.1 期初结转:复制粘贴是最容易出错的一步
月末做完,下个月的期初要把本月的期末余额搬过去。这一步用粘贴数值,不要用公式链接,理由是历史月份的期初应该固化,不能因为有人改了上上个月的分录就跟着变。
具体操作:选中试算平衡表的期末借方列和期末贷方列,复制,到"期初余额表"对应列,右键 → 选择性粘贴 → 数值。然后检查两件事:期初借方合计是否等于上月的期末借方合计(应该完全相等),以及有没有零余额的科目被带了过来(可以留着,不影响,但表会变长)。
有个细节要注意:如果某个科目本月新增,上月的期初表里没有它,粘贴过去会错位。所以在粘贴之前,先用科目编码做一次VLOOKUP对齐,或者干脆每次都用"按编码匹配"的方式填期初:
=IFERROR(VLOOKUP($A2, 上月期末区域, 列号, FALSE), 0)匹配不到就填0,这样新增科目也能正确处理。虽然多了公式,但比手工粘错强。
6.2 模板固化:该锁的锁,该留的留
一个成熟的模板应该做到"给新人也能用,用完不会坏"。我的做法是把工作表分成两类:输入表和计算表。分录表和科目表是输入表,单元格不加保护,但设数据验证;试算平衡表和余额表是计算表,整表保护,只留一个月份输入格(B1)可编辑。
保护的密码不用设得太认真,防的是误操作不是恶意。关键是格式:计算表里的公式单元格设成浅灰底,输入单元格设成白底,视觉上就能区分。这个习惯是从一次事故里养成的——有个同事不小心在试算表里按了Delete,整列公式没了,然后她手工填了几行数字进去,月底对不平,查了很久才发现公式被覆盖了。
另一个建议是每月一个独立文件,命名用"2024-06_总账及试算平衡.xlsx"这种格式,不要在一个文件里加Sheet来区分月份。理由是:分录表按月累积会让SUMIFS越来越慢,而且跨月的公式引用容易出错;独立文件还有个好处是归档方便,年报的时候翻起来一目了然。
最后是留痕。我会在试算平衡表的最下方留三行空白,手写或者打字记录本月调整事项,比如"6月15日补记5月漏记的水电费,凭证记-028"。这行字在三个月后、半年后翻出来看,价值远超当时的几分钟。
7. 我在实际做这套表时踩过的几个坑
第一个坑是SUMIFS的整列引用拖慢文件。分录表攒到几千行,试算平衡表有一百多个科目,每个科目两个SUMIFS,加起来两百多个整列引用,每次重算要等好几秒,改一个数卡一下。解决方法是把整列引用改成有限区域,比如$F$2:$F$5000,或者把分录表转成"表格"(Ctrl+T),用结构化引用分录[借方金额],Excel会自动按实际行数计算,速度快很多。
第二个坑是科目名称用VLOOKUP带,但编码列是文本、科目表是数值。表现是所有科目名称都显示#N/A,但SUMIFS汇总又是对的。原因是SUMIFS会自动做类型转换,VLOOKUP的FALSE精确匹配不会。解决办法是在VLOOKUP外面套一层&""把查找值转成文本:VLOOKUP($A2&"", 科目表!$A:$B, 2, FALSE)。这个坑很隐蔽,因为汇总数是对的,只有名称错了,容易误判成公式写错。
第三个坑是用合并单元格做科目分组。刚做表的时候觉得一级科目下面挂明细,合并一下好看。结果一排序全乱了,SUMIFS也抓不到合并区域里的值。教训是:Excel里所有需要参与计算的表,一律不用合并单元格。要视觉分组,用缩进或者底色,别动单元格结构。
第四个坑是月份条件用了文本日期。分录表的日期是从别的系统导出的,看起来是"2024/6/15",但实际是文本。SUMIFS的比较条件全部失效,本期发生额算出来全是0,试算平衡表两边都是0,看起来"完美平衡"。这个假平衡骗了我一次,因为我当时只看差额是不是0,没看合计是不是0。从此我加了一条规则:试算平衡表的借方合计如果等于0,或者是平时金额的十分之一,先怀疑数据源,别急着庆祝。
第五个坑是保护工作表之后条件格式不刷新。这个不算大问题,但会让人困惑——明明录了一张不平的凭证,红色没出来。原因是保护状态下某些条件格式的重新计算被挂起了,取消保护再保护一次就好。如果频繁遇到,把条件格式的触发范围改成"使用公式",通常更稳。
8. 一个可以照着搭的最小可用版本
如果你手上还没有模板,从零搭一个,我建议按这个顺序,半小时能跑起来。
第一步,建科目表。三列起:科目编码(文本格式)、科目名称、余额方向。先录你实际在用的科目,一级科目和末级科目都录,用"是否末级"列标出来。这一步大约十分钟。
第二步,建期初余额表。科目编码从科目表复制过来(只复制末级),科目名称用VLOOKUP带,两列期初余额手工填。填完在底部加两个SUM,看借贷是否相等。不等就先解决期初,别往下走。
第三步,建分录表。七个字段,加两个辅助列(凭证唯一键、凭证借贷差)。数据验证设好借贷互斥,条件格式设好红色标记。这部分十分钟。
第四步,建试算平衡表。科目编码从期初表复制,后面八列全公式。汇总完看三组数字:本期借方合计等于本期贷方合计、期末借方合计等于期末贷方合计、每个科目的期末余额等于期初加本期变动。
第五步,拿三笔真实业务试录。一笔收付款、一笔费用报销、一笔往来。看试算平衡表能不能正确反映。如果这三笔都能跑通,模板基本可用;如果跑不通,问题一定出在编码匹配或日期格式上,按前面说的顺序查。
这套东西跑顺之后,一个月一百多张凭证的量,月末从录完到最后出试算平衡表,实际动手时间不到一小时,剩下的是核对和判断。省下来的时间,应该花在那些试算平衡表抓不到的地方——翻原始单据、和往来单位对账、看看有没有科目余额的方向不对劲。Excel负责把数字算对,判断数字背后是不是真的,还得靠人。
最后一个提醒:这套模板不要一次做到完美。我第一版只有五列,第二版加了期末余额的方向判断,第三版才加的条件格式和凭证平衡检查,每一次都是被实际错误逼出来的改进。你现在遇到什么问题,就先加一个针对这个问题的检查,用着用着它自然会长成一个顺手的工具。