要实现Excel自动生成丁字账。
这是凭证,D列是总账科目,F列是借方,G列是贷方,需要将这三列的内容自动引用到丁字账。每个总账科目,都可能出现多次,要依次引用。
其实,这个用筛选公式就可以解决。
在A4输入公式,按Ctrl+Shift+Enter三键结束,下拉和右拉。
=IFERROR(INDEX(凭证!F:F,SMALL(IF(凭证!$D$2:$D$28=丁字账!$A$2,ROW($2:$28)),ROW(A1))),"")
其他科目也是用相同的方法完成,只需将A2改成实际的单元格就行,比如银行存款这个科目,就改成D2。
=IFERROR(INDEX(凭证!F:F,SMALL(IF(凭证!$D$2:$D$28=丁字账!$D$2,ROW($2:$28)),ROW(A1))),"")
公式剖析:
IF(凭证!$D$2:$D$28=丁字账!$A$2,ROW($2:$28)),如果凭证的总账科目=丁字账的科目,就返回本身的行号。总账科目的区域,跟ROW函数的区域要一致。
SMALL(IF部分,ROW(A1)),依次获取所有满足条件的行号,从小到大排序。
INDEX(凭证!F:F,SMALL部分),嵌套INDEX函数,就是返回行号的对应值,也就是凭证的借方。
=IFERROR(INDEX部分,""),嵌套IFERROR函数,就是让不满足的显示空单元格。
这个公式虽然比较难,但使用频率非常高。
额外资源
感谢您阅读excelxue的重要Excel功能指南!通过花时间学习和掌握这些功能,您将大大改善财务模型。要了解更多信息,请查看以下其他excelxue资源: