合并多个 VLOOKUP

Combine multiple VLOOKUPs

如何将这些组合成一个?:

=IFERROR(VLOOKUP(B2:B11,Sheet2!A:B,2,FALSE),"No Match")
=IFERROR(VLOOKUP(B3:B12,Sheet2!D:E,2,FALSE),"No Match")
=IFERROR(VLOOKUP(B2:B11,Sheet2!G:H,2,FALSE),"No Match")

这只是三个,但最终我需要总共 12 个才能加入,因为它们正在搜索团队名称,总共有 12 个团队。

=IFERROR(VLOOKUP(B2:B11,Sheet2!A:B,2,FALSE),"No Match")
=IFERROR(VLOOKUP(B3:B12,Sheet2!D:E,2,FALSE),"No Match")
=IFERROR(VLOOKUP(B2:B11,Sheet2!G:H,2,FALSE),"No Match")

会变成:

=IFERROR(VLOOKUP(B2:B11,Sheet2!A:B,2,FALSE),   IFERROR(VLOOKUP(B3:B12,Sheet2!D:E,2,FALSE),
  IFERROR(VLOOKUP(B2:B11,Sheet2!G:H,2,FALSE),"No Match")
)
)

最终:

=IFERROR(VLOOKUP(B2:B11,Sheet2!A:B,2,FALSE),IFERROR(VLOOKUP(B3:B12,Sheet2!D:E,2,FALSE),IFERROR(VLOOKUP(B2:B11,Sheet2!G:H,2,FALSE),"No Match")))

然而,结果仍将是 No Match,因为 "B2:B11",因此不被接受为 Lookup_value 使用 @Ditto 提到的 VLOOKUP 函数输入。

如果您希望按顺序处理每对列,例如三对,只需:

=IFERROR(VLOOKUP(B2:B11,Sheet2!A:B,2,0),IFERROR(VLOOKUP(B2:B11,Sheet2!D:E,2,0),IFERROR(VLOOKUP(B2:B11,Sheet2!G:H,2,0),"No Match")))  

假设 B2 是您的搜索词 (lookup_value),并且上面的公式在第 2 行中。在 VLOOKUP 中使用范围作为搜索词的情况下,使用的行值是公式所在的行值 ("implied intercept")。

通常首选(例如短一点)使用这样的版本:

 =IFERROR(VLOOKUP(B2,Sheet2!A:B,2,0),IFERROR(VLOOKUP(B2,Sheet2!D:E,2,0),IFERROR(VLOOKUP(B2,Sheet2!G:H,2,0),"No Match"))) 

然后将公式复制下来,当 B2 自动调整为 B3 等时(较短也是我倾向于 0 而不是 FALSE 的原因)

如@Ditto 所述,您的数据布局不寻常。除非您有十二对列的特殊原因,否则似乎只有一对就足够了,因为您似乎没有试图在搜索哪个团队的 "B2 value" 上设置任何条件。堆叠在 ColumnsA:B 中(一定要用空格分隔它们,并为单独的团队贴上标签)不需要复制你的一个公式,这应该足以代替所有 12 个:

 =IFERROR(VLOOKUP(B2,Sheet2!A:B,2,0),"No Match")  

如果可以保证结果在某处找到(或者#N/A接受,如果没有,而不是"No Match")这可以进一步简化为:

  =VLOOKUP(B2,Sheet2!A:B,2,0)