在一个单元格中使用多个VLOOKUPS来返回1个值

我目前有3个不同的vlookups我用来尝试find1个主号码。 有些情况下,我可以根据2个不同的唯一号码或个人姓名find这个号码。 我可以在一个单元格中放置多个vlookup,并将它返回所有命中,但这不是我想要的。

如果可能的话,我希望它从第一个数字中拉出来,如果不是,从第二个数字拉出来,这样我就剩下一个数字或一个空格。

Master # Unique #1 Unique #2 Name 12345 526 9963 George Lucas 54321 527 7145 Harry Potter 

基本的概念是:

 =IFERROR(vlookup(..1st..), IFERROR(vlookup(..2nd..), IFERROR(vlookup(..3rd..), <what if no match>))) 

IFERROR将返回第一个参数,如果它不是一个错误,如果它是一个错误,第二个。 如果VLOOKUP没有find,就会抛出一个#NA错误,所以在这里完美的工作。 有点像SQL-like语言中的COALESCE

是的,我意识到OP已经接受了答案,但是我用另一种方式解释了Q. 考虑based off of 2 different unique numbers or a persons name和样本数据( Master #在最左侧) to try and find 1 master number ,VLOOKUP可能不起作用。

如果要根据Unique #1Unique #2Name任何一个search匹配的Master # ,我build议:

 =IFERROR(INDEX(A:A,MATCH(F2,B:B,0)),IFERROR(INDEX(A:A,MATCH(F2,C:C,0)),IFERROR(INDEX(A:A,MATCH(F2,D:D,0)),""))) 

其中假定F2包含search项,并假定Master #在A1等等。然而,原理与接受的A完全相同,因为以这种方式使用的MATCH也将返回错误,其中精确匹配是未find。