分享

VLOOKUP函数多表查找对应值

 L罗乐 2018-09-29

昨天的文章借助PQ完成了多表合并,学员又从另外的角度提出了新问题,一起来看看。


有多个明细表,格式几乎一样,只是开始的日期不同,导致行数略有差异。


支付金额汇总,根据日期和工作表名称查找引用支付金额,最后获取总金额。


对于稍微有点难度的公式,千万别想着一步到位,这是很不明智的做法。


假如现在要根据日期查找关谷神奇这个表的支付金额可以用公式:

=VLOOKUP(A3,关谷神奇!A:H,8,0)


同理,现在要根据日期查找侍卫军刀这个表的支付金额可以用公式:

=VLOOKUP(A3,侍卫军刀!A:H,8,0)


在表格数比较少的情况下,逐个更改公式中的表格名称,这种无疑是最好的办法。不过当表格有几十个的时候,这种做法就不值得提倡,容易出错。


现在每个工作表的名称都列在了第2行,其实可以借助公式引用。

=B$2&'!A:H'


不过当你将公式生成的区域嵌套进公式,却发现得出来的全部是错误值,怎么回事?

=VLOOKUP($A3,B$2&'!A:H',8,0)


用公式B$2&'!A:H'获得的结果是文本而不是区域,需要再嵌套一个INDIRECT函数才可以。不过当公式右拉的时候,拿布仑返回错误值,也就是这个表中没有2018/9/25这个日期,对于这种,该如何处理?

=VLOOKUP($A3,INDIRECT(B$2&'!A:H'),8,0)


在实际工作中,都是将错误值转换成0处理,这时可以嵌套IFERROR函数,这样就完美了。

=IFERROR(VLOOKUP($A3,INDIRECT(B$2&'!A:H'),8,0),0)


总金额:

=SUM(B3:G3)


现在公式全部下拉,就搞定了。


源文件下载:

https://pan.baidu.com/s/14z9RPYX5BCTUYkNXnbqXhw


卢子80%的微信文章都是取材于学员群,一万个学员,每天从中挑选一个案例,也就是万里挑一。一来帮助学员解决掉问题,二来能够将方法总结出来让更多人看到。


只要你报名Excel班级,凭报名截图卢子都会邀请进相应的群。在群内,除了卢子解答问题,还有差不多10位答疑老师协助解答。


今天就讲到这里,如果需要全面学习Excel,可以报名视频班级。


Excel全面学习班,268元

卢子微信chenxilu1987


推荐:从VLOOKUP函数到Power Query,查找无所不能

上篇:你复制得那么认真!怪不得天天加班

这个项目,你觉得如何?



作者:卢子,清华畅销书作者,《Excel效率手册 早做完,不加班》系列丛书创始人,个人公众号:Excel不加班(ID:Excelbujiaban)

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多