打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
编制完整的会计科目

上篇公众号由黑山老妖为大家展示了如何用函数公式将完整会计科目按一级、二级、三级…这样拆分,今天将为大家介绍如何编制完整会计科目!

 

模拟数据及公式处理效果如下:

 


公式:C2=IFERROR(VLOOKUP(LEFT(A2,LOOKUP(9E+307,FIND('.',A2,ROW(INDIRECT('1:'&LEN(A2)))))-1),A$1:C1,3,0)&'-'&B2,B2)

 

公式解析:以C6单元格公式=IFERROR(VLOOKUP(LEFT(A6,LOOKUP(9E+307,FIND('.',A6,ROW(INDIRECT('1:'&LEN(A6)))))-1),A$1:C5,3,0)&'-'&B6,B6)为例进行解析。

 

第一步:

 

用函数FIND找到点(.)在A6单元格中的位置

函数FIND第三参数至关重要,即从A6单元格内容中哪个字符开始找,

所以首先要判断A6单元格的字符数,LEN(A6)=10即A6单元格有10个字符,分别从1到 LEN(A6)=10个字符查找,要用函数ROW构造得到{1;2;3;4;5;6;7;8;9;10}这样的序列,用ROW('1:'&LEN(A6))是不可取的,借助函数INDIRECT,即ROW(INDIRECT('1:'&LEN(A6))),

FIND(找什么,从哪里找,从哪个字符开始找)

FIND('.',A6,ROW(INDIRECT('1:'&LEN(A6))))部分得到{5;5;5;5;5;8;8;8;#VALUE!;#VALUE!}

 


第二步:

 

用函数LOOKUP返回最后一个数值,即A6单元格内容中最后一个点(.)所在的位置

LOOKUP(9E+307,{5;5;5;5;5;8;8;8;#VALUE!;#VALUE!})找到最后一个数值为8, 9E+307为Excel允许录入的最大数值,也有人喜欢用9^9取代,LOOKUP部分得到结果为8,即A6单元格中字符串1002.01.01的最后一个点(.)所在的位置为8

 


第三步:

 

提取最后一个点(.)所在位置之前的所有字符串

用函数LEFT提取,8为最后一个点(.)所在的位置,提取之前的字符串所以要减1,LEFT部分得到科目编号为1002.01

 


第四步:

 

用函数VLOOKUP找到科目编号为1002.01所对应的完整会计科目

这里要注意函数VLOOKUP的第二参数A$1:C5,其效果为

 


由此可以看出想要返回的结果在第三列,所以函数VLOOKUP的第三参数为3,函数VLOOKUP部分得到'银行存款-中国银行'

 


第五步:

 

连接其对应的B列会计科目即B6单元格内容

得到的'银行存款-中国银行-猫哥'就是我们要的完整会计科目

 


第六步:

 

容错(即出现错误值后要返回的值)

当A列科目编号中用函数FIND找不到点(.)时就会出现错误值#VALUE!,函数LOOKUP部分没有最后一个数值返回就出现错误值#N/A,所以最后一步用函数IFERROR容错,当出现错误值时返回其科目编号对应的本身B列会计科目。

如例题中A4单元格内容1002中没有点(.)出现错误值,用函数IFERROR容错后返回其科目编号对应的本身B列会计科目B4单元格内容银行存款。



本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
你见过哪些Excel神公式?
职场常用的16个函数,学会它们,小白也能变大神
新“个税”公式分享
Excel函数公式在杂乱文本中提取手机号,你会吗?
掌握3个实用的经典公式,解决工作中80%的问题
VLOOKUP函数的7种典型用法详解!
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服