谷歌表如果链接VLOOKUP语句#N/A不工作?



我试图使用IF语句执行多个vlookup,目标是如果在第一个范围中没有找到单个搜索键,则按顺序搜索多个范围。

这是基于当没有找到键为"#N/a "时的Vlookup输出,并且当它是第一个范围的输出时触发第二个Vlookup。我的代码:

=if(vlookup(A6,Range1!A:A,1,false)<>#N/A,"Match",if(vlookup(A6,Range2!A:A,1,false)<>#N/A,"Match",if(vlookup(A6,Range3!A:A,1,false)<>#N/A,"Match",if(vlookup(A6,Range4!A:A,1,false)<>#N/A,"Match",if(vlookup(A6,Range5!A:A,1,false)<>#N/A,"Match","Not")))))

我所期望的是,如果找到#N/A的输出,则查找将继续进行,最终导致每个搜索键被分配为"匹配";或";Not"。发生的事情是,第二个If语句没有执行,我的输出要么是"Match"或"# N/A" .

试一试:

=if(NOT(ISERROR(vlookup(A6,Range1!B:B,1,false))),"Match",if(NOT(ISERROR(vlookup(A6,Range2!B:B,1,false))),"Match",if(NOT(ISERROR(vlookup(A6,Range3!B:B,1,false))),"Match",if(NOT(ISERROR(vlookup(A6,Range4!B:B,1,false))),"Match",if(NOT(ISERROR(vlookup(A6,Range5!B:B,1,false))),"Match","Not")))))

我认为这是一种更紧凑的表示,可以达到相同的结果:

=arrayformula(if(sum(n(A6={Range1!B:B;Range1!B:B;Range3!B:B;Range3!B:B;Range4!B:B;Range5!B:B;Range6!B:B}))>=1,"Match","Not"))

不需要vlookup(因为您只是在列表中查找匹配项,而不是在这里实际执行查找),并且可以将所有范围联合在一起以消除许多不必要的嵌套。

最新更新