Excel vlookup帮助

时间:2011-03-21 17:56:42

标签: excel vlookup

使用vlookup,当匹配发生时,我想显示匹配发生的同一行中表2的C列的值。我想出的公式采用了C列表2中的值,但它从公式粘贴在表3上的行而不是匹配发生的位置获取。

这是我的公式不起作用:

=IF(VLOOKUP(Sheet1!A:A,Sheet2!A:A,1,FALSE),Sheet2!C:C,"NODATA")

如何从发生匹配的行中获取值?

2 个答案:

答案 0 :(得分:3)

要说清楚,我并不完全确定我明白你想要实现的目标。也许以下有帮助...

假设我在工作簿中有3张表,如下所示:

    Sheet1            Sheet2                 Sheet3
    A                 A    B    C            A     B
1   10                2    h    Apple        10    Apple
2   20                g    4    Banana       25    n/a
3   30                l    !    Pear         40    Grape
4   40                g    *    Grape        30    Pear

在表3的B栏中,我有以下公式:

=INDEX(Sheet2!$C$1:$C$4,MATCH(VLOOKUP(A1,Sheet1!$A$1:$A$4,1,FALSE),Sheet1!$A$1:$A$4,1))

解释:

  • VLOOKUP查找工作表3中的值,Sheet1中的Col A
  • MATCH返回VLOOKUP结果的Sheet1中的行
  • INDEX然后使用行号从Sheet2
  • 中的值中选择正确的值

再次,不确定这是否是你想要的。它可以帮助你开始......

答案 1 :(得分:1)

您需要手动获取您正在寻找的索引,然后获取该索引的值:

=INDEX(Sheet2!C:C, MATCH(Sheet1!A:A,Sheet2!A:A,FALSE))