2014-07-24 223 views
1

我在Excel 2010中有几张工作簿。我试图使用VLOOKUP将数据从一张纸复制到另一张。并非所有原始数据都存储在一张表中。存储在第二个工作表中的标记是#N/A错误。我尝试添加IF IFERROR行,但现在只是默认为空白。当我翻转它时,它告诉我该公式包含错误。VLOOKUP不是返回值

原文:

=IF(ISERROR(VLOOKUP(E3,$B$3:$C$11,2,FALSE)),"",VLOOKUP(AT7, 'GROUP1'!A:O,10,FALSE)) 

翻转:

=VLOOKUP(AT7,'BPT MNDM'!A:O,10,FALSE)), IF(ISERROR(VLOOKUP(E3,$B$3:$C$11,2,FALSE)),"") 

我能做些什么,这样,如果该值没有在第一个表/列中找到它留下空白,不留使它一切都空白?另外,如果查找没有找到值或者搜索第二列,是否有办法检查第二个表?例如,如果它在Group1中找到值,但Col10为空,则复制Col11,或者如果它在Group1中找不到它,则检查Group2并执行相同操作。另外,有没有办法在VBA中做到这一点?

任何援助将不胜感激。

回答

3

认为你需要什么本质上是“尝试VLOOKUP引用Sheet1中,但如果失败,再尝试Sheet2中,但如果失败尝试在工作表Sheet 3 ......”

你将要使用= IFERROR(value,value_if_error)

如果它没有错误,它会返回“value”,否则它会重新调用value_if_error。

所以,我认为你需要的东西,如: IFERROR(VLOOKUP(E3,$ B $ 3:$ C $ 11,2,FALSE),VLOOKUP(AT7,GROUP1答:O,10,FALSE))

+0

它仍在标记N/A错误。 – AxxieD

+0

如果两个vlookups失败,您将获得NA。你可以嵌套更多的vlookups,如果需要:IFERROR(VLOOKUP1,IFERROR(VLOOKUP2,VLOOKUP3)) 如果你需要我的原始答案来显示空白,如果两者都失败,然后使用此:IFERROR(IFERROR(VLOOKUP(E3,$ B $ 3: $ C $ 11,2,FALSE),VLOOKUP(AT7,GROUP1!A:O,10,FALSE)),“”) – spioter

+0

它似乎在工作。我一定是犯了一个错字。非常感谢! – AxxieD