现在有免费的精英会计交流群,每天前150名进群免费,与众多优秀财务人一起讨论业务、交朋友!进群加微信号kjsc022
汇总表根据每月的数据,查找姓名对应的实发提成。每个月份的表格格式都一样,姓名在A列,实发提成在L列。
每月数据
汇总表
对于这种问题,难点在于如何使公式向右拖动的时候,引用的表格能够变动。从2018年6月变成2018年7月,直到2018年12月。
普通的查找公式,在右拉公式的时候,工作表名称是不会变动的。
=VLOOKUP($A2,'2018年6月'!A:L,12,0)
而汇总表刚好列出了每个工作表名称,因此可以间接引用这些名称。输入公式后,得到的结果跟预期不同,并不是年月的形式,而是数字。
=B1&"!A:L"
虽然单元格显示的是年月形式,实质上并不是,针对这种,可以用TEXT函数转换。
=TEXT(B1,"e年m月")&"!A:L"
不过这个并不是真正的区域,还需要嵌套INDIRECT函数,才能间接转换成区域。
=INDIRECT(TEXT(B$1,"e年m月")&"!A:L")
将区域嵌套在原来的VLOOKUP函数里面,即可查找到相应的对应值。在查找过程中如果没有对应值会显示错误值,这时再嵌套一个IFERROR函数,让错误值显示0。
=IFERROR(VLOOKUP($A2,INDIRECT(TEXT(B$1,"e年m月")&"!A:L"),12,0),0)
多表查找基本上都是这个套路,理解了这个公式,其他自然就懂了。
这里再教你一个小技巧,当区域有很多列的时候,在数有多少列的时候可能会数错。而借助COLUMNS函数,就能轻易解决这个问题。
比如现在想知道C:S总共有多少列。
=COLUMNS(C:S)
这个技巧卢子经常用,很好用。这样,再也不用担心VLOOKUP函数第三参数数错的问题了。
现在有免费的精英会计交流群,每天前150名进群免费,与众多优秀财务人一起讨论业务、交朋友!进群加微信号kjsc022
来源:Excel不加班,作者:卢子