找到第二个vlookup值

时间:2014-12-05 15:47:19

标签: excel

我在表格的单元J2中有以下vlookup公式' SKU DATA' ...

=VLOOKUP(A2,DUPLICATE!C:AJ,34,0)

但是,在' DUPLICATE'的第34栏中。工作表范围有2种可能的结果(最多只有2个结果)。

Vlookup显示第一个结果......是否有一个公式我可以在单元格J3中显示第二个结果?

我看过几个匹配,索引和小功能,但是,无法正常工作?

由于

3 个答案:

答案 0 :(得分:4)

我确信有很多方法可以做到这一点(这可能不是最有效的方法),但首先想到的是找到复制表C列中的第一个匹配项,然后开始VLOOKUP()来自那里。

这看起来如下:

=VLOOKUP(A2,OFFSET(DUPLICATE!$C$1,MATCH(A2,DUPLICATE!C:C,0),0,1000,34),34,0)

本质上:

  1. MATCH()函数将匹配第一个匹配项并返回该行号
  2. OFFSET()然后创建一个范围引用,从C列开始,但在该匹配后为1行,深度为1000行,宽度为34列
  3. 然后在该范围内执行Vlookup
  4. 这将返回第二个参考。

    希望有意义/做到这一点!

答案 1 :(得分:2)

以下是使用数组公式(CTRL+SHIFT+ENTERCSE的答案 - 确保您看到{}):

我喜欢这种方法,因为您可以更改倒数第二个数字,以匹配您要查找的任何事件。例如,如果您想要第三场比赛,请将2更改为3

=INDEX($B$2:$B$13,SMALL(IF($A$2:$A$13=D2,ROW($A$2:$A$13)-ROW($A$2)+1,ROW($A$13)+1),2),0)

更明白:

=INDEX(DesiredValues,SMALL(IF(PossibleMatches=MyMatch,ROW(PossibleMatches)-Row(FirstRow)+1,ROW(LastRow)+1),nth_match),thisColumn)

在实践中:

enter image description here

答案 2 :(得分:0)

这是返回第二个匹配值的正常公式

E2中,向下复制:

=INDEX(B:B,MMULT(SMALL((A$1:A$13<>D2)/1%%+ROW($1:$13),2),1))

enter image description here