1、建立N+M表格。原则为过去月份未花费费用顺延。另外还有固定,均摊及顺延均摊等情况可自行研究后附公式。第六行开始每行为科目,C列为此行类别代码(1,2,3,4...),T列为系统计算列(叫当月累计剩余预算),U列为人工调整列(可以不调)数值部分用类似于下列公式:F6=IF(F$3<$F$1,SUMIFS(MA!$F:$F,MA!$K:$K,$C6,MA!$E:$E,">" & E$4,MA!$E:$E,"<=" & F$4),IF(F$3=$F$1,$T6+$U6,F36))
2、MA页是实际花费账务,可以从系统中导入,也可以手工录入。手工处理就不用任何代码了。格式如下。gltr_acc,gltr_ctr,gltr_tr_type,gltr_ent_dt,gltr_eff_dt,gltr_amt,gltr_ref,gltr_desc,gltr_unb,gltr_user,CIT661029300,2400,RV,2012/1/3,2012/1/1,2000,RV123403000001,调整预提电话费,FALSE,abc,10最后的10就是主表C列的分类,这个要手工填,否则请你的财务做账时选择系统的某个字段放入也可以自动导出。
3、F1留给用户手工录入当前月份,比如8 对应7+5F3=1,...,R3=13;E4=上年年结日期,F4=一月月结日期,...,Q4=12月月结日期即本年年结日期,R4=下一年1月月结日期;F6对应F36是因为我把当年预算同格式放在下面,同样的科目分别占了第6行和第36行。
4、T列公式 T6=SUM(INDIRECT(CHAR(CODE("钽吟篑瑜A")+COLUMN($F36)-1)&伊怕锱鳏ROW($F36)):INDIRECT(CHAR(CODE("A")+COLUMN($F36)-1+$F$1-1)&ROW($F36)))-SUMIFS(MA!$F:$F,MA!$K:$K,$C6,MA!$E:$E,">"&$E$4,MA!$E:$E,"<="&INDIRECT(CHAR(CODE("A")+COLUMN($F36)-1+$F$1-2)&"$4"))
5、均摊我这里没有例子了,不写了,自己考虑下。顺延均佼锩吃邢摊意为前面没用完的往后放,后面的每个月平均放。F21=IF(F$3<$F$1,SUMIFS(MA!$F:$F,MA!$K:$K,改怊眶峋$C21,MA!$E:$E,">" & E$4,MA!$E:$E,"<=" & F$4),IF(F$3=$F$1,IF($T21=0,0,($R51-$U21)/(12-$F$1+1)),IF($T21=0,($R51-$U21)/(12-$F$1),($R51-$U21)/(12-$F$1+1))))U21=SUMIFS(MA!$F:$F,MA!$K:$K,$C21,MA!$E:$E,">"&$E$4,MA!$E:$E,"<="&INDIRECT(CHAR(CODE("A")+COLUMN(F51)-1+$F$1-2)&"$4"))F27=IF(F$3<$F$1,SUMIFS(MA!$F:$F,MA!$K:$K,$C27,MA!$E:$E,">" & E$4,MA!$E:$E,"<=" & F$4),IF(F$3=$F$1,IF($T27=0,0,($R57-$U27)/(12-$F$1+1)),IF($T27=0,($R57-$U27)/(12-$F$1),($R57-$U27)/(12-$F$1+1))))U27=SUMIFS(MA!$F:$F,MA!$K:$K,$C27,MA!$E:$E,">"&$E$4,MA!$E:$E,"<="&INDIRECT(CHAR(CODE("A")+COLUMN(F57)-1+$F$1-2)&"$4"))
6、设条件格式,F-T列有负数红,分析。其他简单浏览即可。