使用嵌套vlookup公式在自动化代码中使用

时间:2015-07-20 15:24:35

标签: excel-vba nested vlookup vba excel

我正在尝试编写一个使用不同vlookup的公式,具体取决于公式是否产生错误。我有3个选项卡,每个选项卡有3列。前两列包含vlookup中的值,第三列包含我想要查找的值。基本上我想要一个将使用不同vlookup的公式,具体取决于查找值是在第一个选项卡还是第二个选项卡中找到。以下是我正在使用的公式。它可以将Sheet1中的值引入Sheet3,但当值在Sheet2中时不起作用。此外,还将此公式插入vba代码中以供自动化使用。

= IF(OR(ISERROR(VLOOKUP(B2,工作表Sheet!B2:C19,2,FALSE)),ISBLANK(VLOOKUP(表Sheet 3 B2,工作表Sheet B1:!C19,2,FALSE))),IF(OR (!ISERROR(VLOOKUP(表Sheet 3 A2,A1工作表Sheet1!C19,3,FALSE)),ISBLANK(VLOOKUP(表Sheet 3 A2,A1工作表Sheet1!!C19,3,FALSE))),IF(OR(ISERROR(VLOOKUP( !表Sheet 3 B2,B1 Sheet2的!C21,2,FALSE)),ISBLANK(VLOOKUP(表Sheet 3 B2,B1 Sheet2的!!!C21,2,FALSE))),IF(OR((ISERROR(VLOOKUP(表Sheet 3 A2, Sheet2的A1:C21,3,FALSE))),ISBLANK(VLOOKUP(表Sheet 3 A2,Sheet2的A1:!C21,3,FALSE))), “非”,VLOOKUP(表Sheet 3 A2,Sheet2的A1:!C21, 3,FALSE)),VLOOKUP(表Sheet 3 B2,Sheet 2中B1:!C21,2,FALSE)),VLOOKUP(表Sheet 3 A2,工作表Sheet A1:!C19,3,FALSE)),VLOOKUP(表Sheet 3 B2,Sheet 1中! B1:C19,2,FALSE))

它返回值sI我要查找,直到查找值在Sheet2中出现。那时它显示我“非”。

任何帮助将不胜感激!谢谢

1 个答案:

答案 0 :(得分:0)

您的第一个VLOOKUP未引用" Sheet3"。

我认为下面的等式做了你想要做的事情(假设你在Sheet3上)。

=IF(IFERROR(VLOOKUP($B$1,Sheet1!A:C,3,FALSE),"")="",IF(IFERROR(VLOOKUP($B$1,Sheet1!B:C,2,FALSE),"")="",IF(IFERROR(VLOOKUP($B$2,Sheet2!B:C,2,FALSE),"")="",IF(IFERROR(VLOOKUP($B$2,Sheet2!A:C,3,FALSE),"")="","nan",VLOOKUP($B$2,Sheet2!A:C,3,FALSE)),VLOOKUP($B$2,Sheet2!B:C,2,FALSE)),VLOOKUP($B$1,Sheet1!B:C,2,FALSE)),VLOOKUP($B$1,Sheet1!A:C,3,FALSE))