1

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

这是我的公式不起作用:

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

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

4

2 回答 2

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))

解释:

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

同样,不确定这是否正是您想要的。它可能会帮助您入门...

于 2011-03-21T19:09:01.357 回答
1

您需要手动获取要查找的索引,然后获取该索引处的值:

=INDEX(Sheet2!C:C, MATCH(Sheet1!A:A,Sheet2!A:A,FALSE))
于 2011-03-21T18:07:35.360 回答