Excel 有识别重复数字的VLOOKUP这样的东西吗?

Excel 有识别重复数字的VLOOKUP这样的东西吗?,excel,excel-formula,excel-2010,offset,vlookup,Excel,Excel Formula,Excel 2010,Offset,Vlookup,我在excel选项卡的a列中有一个值列表,在它旁边的B列中有一个单词列表。在另一个选项卡上,我试图从B中检索单词,其中A的值最小,然后是第二个较小的值,第三个,等等 示例:A列有(2,3,3,6,8)和B(汽车、狗、猫、房子、船) 我首先创建了一个列,在其中检索最小值: 在X1列上,我添加了:SMALL('Table'!$A:$A,1) 在X2列上,我添加了:SMALL('Table'!$A:$A,2) 等等 然后一个VLOOKUP为我工作: 在Y1列上,我添加了:VLOOKUP(X1,'

我在excel选项卡的a列中有一个值列表,在它旁边的B列中有一个单词列表。在另一个选项卡上,我试图从B中检索单词,其中A的值最小,然后是第二个较小的值,第三个,等等

示例:A列有(2,3,3,6,8)和B(汽车、狗、猫、房子、船)

我首先创建了一个列,在其中检索最小值:

  • 在X1列上,我添加了:
    SMALL('Table'!$A:$A,1)
  • 在X2列上,我添加了:
    SMALL('Table'!$A:$A,2)
  • 等等
然后一个VLOOKUP为我工作:

  • 在Y1列上,我添加了:
    VLOOKUP(X1,'Table'!$A:$B,2,FALSE)
  • 在Y2列上,我添加了:
    VLOOKUP(X2,'Table'!$A:$B,2,FALSE)
到目前为止还不错。我的问题是我的价值观重复*即。: 在上面的示例中,每当函数在列A中找到值3时,我都会得到单词dog两次,而不是dog和cat,因为它只显示vlookup找到的第一个值

我尝试添加一个偏移量:
=offset(SMALL('Table')!$A:$A,1,0)
,但不确定它是否可以从其他选项卡获取


有什么帮助或解决方法吗?非常感谢。

我建议使用Index/match而不是VLOOKUP,如果相同的值以前出现过一次,则在匹配位置添加一个,如果相同的值以前出现过两次,则添加两个,以此类推:-

=INDEX(Table!B:B,MATCH(A2,Table!A:A,0)+COUNTIF(A$1:A1,A2))
您也可以使用类似的方法获取最小值、次最小值等,而不是对其进行硬编码:-

=SMALL(Table!$A:$A,ROW(1:1))

好的,我要用相等的值来分隔行的技巧是在每行中添加一小量,使值唯一。以下是我的公式:-

=LARGE(IF(A$2:A$9="Restaurants",C$2:C$9),ROW(1:1))
要获得最大值,这是一个标准公式

=INDEX(D$2:D$9,MATCH(LARGE(IF(A$2:A$9="Restaurants",C$2:C$9+ROW(C$2:C$9)/10^7),ROW(1:1)),C$2:C$9+ROW(C$2:C$9)/10^7,0))
以获得匹配的城市。即使相邻行中没有相等的值,这也会起作用

我不知道实际数据中有多少行,如果超过100行,则需要使用小于.01的行数

请注意,这些是数组公式,需要使用CtrlShift输入

对于最小的,只要把大的换成小的

如果要排除任何非数字值,如“未排名”,则需要

=INDEX(D$2:D$9,MATCH(LARGE(IF((A$2:A$9="Restaurants")*ISNUMBER(C$2:C$9),C$2:C$9+ROW(C$2:C$9)/10^7),ROW(1:1)),C$2:C$9+ROW(C$2:C$9)/10^7,0))

我不建议将其改为使用D:D、C:C等,因为这会很慢,但会起作用。

谢谢这个Tom。我仍然在处理我的问题,似乎找不到合适的解决方案,或者我可能没有足够的能力看到答案。好的,我会添加到我的答案Tom,我总是使用
+行(C$2:C$9)/10^7
为断开领带添加增量是的,比.01安全-将添加到我的答案中。