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

时间:2014-01-15 15:09:10

标签: excel vlookup

我目前有3个不同的vlookup我正在尝试找到1个主号码。在某些情况下,我可以根据2个不同的唯一数字或人名来找到此数字。我能够在一个单元格中放置多个vlookup并让它返回所有命中,但这不是我想要的。

如果可能的话,我希望它从第一个数字中取出,如果没有,请从第二个数字中取出,依此类推,以便我留下一个数字或一个空白。

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

2 个答案:

答案 0 :(得分:1)

基本概念是:

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

IFERROR将返回第一个参数,如果它不是错误,如果是错误,则返回第二个参数。 VLOOKUP如果找不到会引发#NA错误,所以它在这里完美运行;类似于类SQL语言中的COALESCE

答案 1 :(得分:1)

是的,我意识到OP接受了答案,但我以不同的方式解释了Q.考虑to try and find 1 master numberbased off of 2 different unique numbers or a persons name和示例数据(其中Master #位于最左侧),VLOOKUP可能无效。

如果要根据Master #Unique #1Unique #2中的任何一个搜索匹配的Name,我建议:

=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假定包含搜索词,Master #假定为A1,等等。 然而,该原则与接受的A完全相同,因为以这种方式使用的MATCH也将返回一个错误,其中未找到完全匹配。