请问Excel如何跨工作簿多条件查找引用数据?

请问Excel如何跨工作簿多条件查找引用数据?

本问题实际分两步:1、根据不同客户选定对应的数据区域;2、在选定的数据区域内根据单条件查找数据。

本问题第一步稍微复杂一点,使用indirect函数可以实现“根据不同客户选定对应数据区域”。

效果如下:

数据区域如下(A客户数据表里面的名称和材料都有“A”前缀,同理,B客户是“B”前缀,C客户是“C”前缀):

D3的完整公式如下:

公式解析:

1、根据观察,三个客户的数据表都在“徐徐不倦-数据.xlsx”工作簿内,三个数据表一一对应:

A客户对应“A客户数据表”、B客户对应“B客户数据表”、C客户对应“C客户数据表”,即

显示表格内B列数据连接上“数据表”这三个字就是工作表的名称。

对此,使用indirect函数建立动态引用区域:

如果B3=“A客户”,则函数返回区域“'[徐徐不倦-数据.xlsx]A客户数据表'!$B$2:$F$11”;

如果B3=“B客户”,则函数返回区域“'[徐徐不倦-数据.xlsx]B客户数据表'!$B$2:$F$11”;

如果B3=“C客户”,则函数返回区域“'[徐徐不倦-数据.xlsx]C客户数据表'!$B$2:$F$11”。

2、引用方式的问题解决了,剩下的单条件查询就比较简单了,用Vlookup、lookup或index+match都可以。

本例子中Vlookup公式最短,讲解起来也最直观,故使用了Vlookup,其余函数情况请自行测试。

如果这一步还有疑问,留个言,我再补充。