excel函数 如果从一表中找不到对应的数据就返回到另一表中查找,函数公式怎么设置

=IF(ISNA(VLOOKUP(表1!B:C,1,0)),VLOOKUP(表2!H:I,1,0),VLOOKUP(表1!B:C,1,0))
我这样做 出现是值为 #VALUE
请问我哪里有问题?

  要实现“跨多表查询”需要Vlookup和IFERROR组合函数

  参考版本:office2013

 

 【例】工资表模板中,每个部门一个表。

  


在查询表中,要求根据提供的姓名,从销售~综合5个工作表中查询该员工的基本工资

公式:=IFERROR(VLOOKUP(A2,服务!A:G,7,0),IFERROR(VLOOKUP(A2,人事!A:G,7,0),IFERROR(VLOOKUP(A2,综合!A:G,7,0),IFERROR(VLOOKUP(A2,财务!A:G,7,0),IFERROR(VLOOKUP(A2,销售!A:G,7,0),"无此人信息")))))



分析说明:

如果,我们知道A1是销售部的,那么公式可以写为:

=VLOOKUP(A2,销售!A:G,7,0)


如果,我们知道A1可能在销售或财务表这2个表中,公式可以写为:

=IFERROR(VLOOKUP(A2,销售!A:G,7,0),VLOOKUP(A2,财务!A:G,7,0))

意思是,如果在销售表中查找不到(用iferror函数判断),则去财务表中再查找。


如果,我们知道A1可能在销售、财务或服务表中,公式可以再次改为:

=IFERROR(VLOOKUP(A2,销售!A:G,7,0),IFERROR(VLOOKUP(A2,财务!A:G,7,0),VLOOKUP(A2,!A:G,7,0)))

意思是从销售表开始查询,前面的查询不到就到后面的表中查找。


如果,有更多的表,如本例中5个表,那就一层层的套用下去。这也是今天提供的VLOOKUP多表查表

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-01-29
在EXCEL表格中有的数据用查找却找不到,可以从以下几个方面排除:

1,单元格格式与查找格式不一致,表面上看来你的数据是一样的,但是,实际上存在着格式上的不同。比如,单元格里面的数字是文本格式,如果用Ctrl+F查找阿拉伯数字会找不到,解决方法是将单元格设置为常规格式;
2,单元格存在空格。这个现象经常会遇到,特别是一些导入的数据,或者从其他文件中拷来的数据。半角格式的空格在excel中往往不容易察觉,这也会造成Ctrl+F查找一组数据时,找不到。解决方法是将空格替换掉

3,单元格是以公式的形式得到的结果,这个情况也是常见的excel查找不到的常见原因。解决方法是,将单元格复制粘贴为数值格式。
第2个回答  2011-12-02
可以结合vlookup函数和if函数来实现。
如:=if(isna(vlookup(查找的值,第一个表的查找区域,0)),vlookup(查找的值,第二个表的查找区域,0),vlookup(查找的值,第一个表的查找区域,0))
第3个回答  2015-08-09
通过逻辑上的分析,检查该区域是否有那个值,没有就再检查另一个区域,
有的话,返回“有”,没有的话返回“没有”
=IF(SUM(IF("panwenxin"=A1:B4,1,IF(C1:D4="panwenxin",1,0)))=1,"有","没有")
有的话,返回个数,没有的话返回“没有”。
=IF(COUNT(IF("panwenxin"=A1:B4,1,IF(C1:D4="panwenxin",1,NA)))<>0,COUNT(IF("panwenxin"=A1:B4,1,IF(C1:D4="panwenxin",1,NA))),"没有")
第4个回答  2022-02-28
逻辑是:如果有则用VLOOKUP查找引用当前表格,没有则到另一个表查找引用。那么判断条件改为"countif(表2!$H:$H,$A2)=1"(假设查找值在当前表A列,表2!$H:$H是根据你给的公式判定),意思是,如果表2有这个值,就引用表2,否则,引用表1。
全公式:=IF(countif(表2!$H:$H,$A2)=1,VLOOKUP(表2!H:I,1,0),VLOOKUP(表1!B:C,1,0))
相似回答