EXCEL公式VLOOKUP怎么实现先查找一个区域,如果没有找到继续查找第二个区域?

2024-11-08 09:56:06
推荐回答(5个)
回答1:

用vlookup函数,先查找一个区域,查找不到,在查找另外一个区域,可以用函数IFERROR来判断一下。

示例数据

如上图有两个数据区域,两个区域的数据各不相同,可以在G2单元格输入公式:=IFERROR(VLOOKUP(F2,A2:A6,1,0),VLOOKUP(F2,C2:C6,1,0)),实现在区域1查找不到时,去区域2继续查找。

公式解析:IFERROR函数时用来判断是否是错误值的函数,如果是错误值,那么返回另一个参数返回的结果,如果不是,就是返回第一个参数返回的值。

回答2:

这个很容易啊。
设特殊区域的表为sheet3,总表为sheet2,你需要输入信息的表为sheet1。且表格的格式均为a、b、c三列。其中a列为名称(主关键字)。在sheet1的b2输入:
=if(countif(sheet3!$a:$a,$a2),vlookup($a2,sheet3!$a:$c,COLUMN(b1),0),vlookup($a2,sheet2!$a:$c,COLUMN(b1),0))
然后横拉,再下拉填充就好了。

==========
关于你的补充。
如果你使用if(or(...))的方式来判断的话,每在特殊区域增加一个品名,就需要在or中增加一个。而且,修改好公式后,还要替换原先公式的区域。这样非常麻烦。
因此,建议使用我上面给出的公式。
公式解析:
在sheet3的a列中查找sheet1的当前行的a列的数据是否存在,通过这个判断来确定使用特殊规格的表,还是使用普通总表来获取数据。vlookup部分你应该可以理解。

回答3:

用IF和ISERROR函数可以实现你的需求。
原理是如果区域1中找不到(ISERROR为真),就在区域2中继续查找,如果能找到,就显示区域1的值。
=IF(ISERROR(VLOOKUP(A1,区域1,1,0)),VLOOKUP(A1,区域2,1,0),VLOOKUP(A1,区域1,1,0))

回答4:

假设特殊包装在c:d列,C列为型号,D为包装数量
普通包装在E:F 列 E列为型号、F列为数量
A2:输入型号 B2公式下拉~
=IF(COUNTIF(C:C,A2),VLOOKUP(A2,C:D,2,),VLOOKUP(A2,E:F,2,))

回答5:

看看你说的多复杂,我回答起来也是一样,直接加qq很快解决,你会满意的
qq:519061600