返回多个匹配的第k个

时间:2014-07-24 11:29:07

标签: excel excel-2011

在Excel for Mac 2011中,我尝试创建一个引用D-G中数据的表(在A1:B5列中)。我希望E1搜索列A并报告与第一个匹配项对应的列B中的数据; F1搜索列A并报告第二场比赛; G1第三场比赛等VLOOKUP可以解决E1的问题,但据我所知,无法处理第一场比赛后的任何事情。

以下是我在其他帮助网站中找到的公式:

=INDEX($B$1:$B$5,SMALL(IF($A$1:$A$5=$D$1,ROW($A$1:$A$5)-MIN(ROW($A$1:$A$5))+1,""),COLUMN(A1)))

这适用于E1,但在单元格#NUM!中导致F1错误。我将以下公式输入另一个单元格并得到1的值,这让我相信我的公式只找到一个匹配:

=MAX((IF($A$1:$A$5=$D$1,ROW($A$1:$A$5)-MIN(ROW($A$1:$A$5))+1,"")))

我无法弄清楚第一个公式出错的地方。如果有人有任何想法或其他方法,那将非常感激!

1 个答案:

答案 0 :(得分:0)

您需要修改如下:

=INDEX($B$1:$B$5;SMALL(IF($A$1:$A$5=$D$1;ROW($A$1:$A$5)-MIN(ROW($A$1:$A$5))+1;"");2))

COLUMN(A1)的内容你需要输入第k个元素的数量。
如果数组中没有第k个位置,你有一个 NUM# ...
在这种情况下,您需要使用:

=IFERROR(INDEX($B$1:$B$5;SMALL(IF($A$1:$A$5=$D$1;ROW($A$1:$A$5)-MIN(ROW($A$1:$A$5))+1;"");2));"")

很可能用CTRL + SHIFT + ENTER插入公式shell。