会计科目表整理可能会用到的EXCEL公式

假设我们有以下会计科目表:

1、判断该科目是否是末级科目:

=IF(A2-LEFT(A3,LEN(A2))=0,0,1)

其中0代表非末级,1代表末级,这个公式有个bug,最末的一列要手工输入1。

2、需要列出科目级次:

=IF(LEN(A2)=4,1,IF(LEN(A2)=6,2,IF(LEN(A2)=8,3,IF(LEN(A2)=10,4,IF(LEN(A2)=12,5,0)))))

这个公式首先需要预判全部的科目总共会有几级,根据级次来判断要写多少个if嵌套。

3、假设由于集团为了报表取数方便,要求每个级次都占满6级,比如有的科目只有两级,1001库存现金,100101库存现金,那么库存现金科目要变成:

假设科目编码规则是4-2-3-3-3-3

1级科目  1001 库存现金

2级科目  100101 库存现金

3级科目  100101001 库存现金

4级科目  100101001001 库存现金

5级科目  100101001001001 库存现金

6级科目  100101001001001001 库存现金

第一步:先判断需要补多少位:

=IF(AND(C2=1,D2<6),6-D2,0)

第二步:分别将每一位的科目编码取出来,像这样:

一级编码的取数公式:

=LEFT(A2,4)

二级编码的取数公式:

=MID(A2,5,2)

三级编码的取数公式:

=MID(A2,7,2)

依次类推。

第三步:筛选需要补位的那一列

由于最长为六位,所以可供筛选的数字一般有0、1、2、3、4、5,0表示不用补位,比如筛选2,然后复制筛选结果到下面空白处,一共需要复制两次,筛选3,就一共需要复制三次,然后修改科目级次那一列,分别改成4、5和6。

第四步:填充每级空白的科目编码

当然仍然要先筛选再填充,比如同时筛选级次为2的科目,以及在二级科目下科目编码为空的一列,然后就可以通过拖动批量复制该级次的编码。

第五步:组合每个级次的科目编码

=A2&B2&C2&D2&E2&F2

第六步:通过组合后的完整的科目编码排序,各个科目就乖乖地组合到一起了。

搞定。

(0)

相关推荐