首页 > 解决方案 > 使用索引匹配查找区域中的第二个匹配列

问题描述

我尝试使用 Index/Match 函数从某个区域查找值,因为我被卡住了,因为我的列索引可能有两个相同的值,例如你有一个区域如下所示

例如,我想为测试 1 找到 1/24/2018 的值,但我使用公式,它给了我测试 1 的第一个值,即 0.31,但我想要的是 0.83

在此处输入图像描述

=INDEX(G5:I11,MATCH(F5,F5:F11,0),MATCH("Test 1",G4:I4,0))

我做了一些搜索,我想我应该使用 large,所以这意味着为您在行中找到的最后一个匹配值给出列的位置,而不是第一个,但我不确定如何对我的公式实现 Large 函数

这意味着给我你在第二场比赛中找到的最后一场比赛的列号,你知道当你输入 MATCH("Test 1",G4:I4,0)) 时,它返回第一个匹配的值,但我想要第二个或第三个(这意味着最后)

  Test 1   Many  Test 1 
1  0.31    0.21   0.83
2   1       2      3

标签: excelexcel-formula

解决方案


在您的情况下,您可以INDEX()只在 I 列上使用。这样您就可以松开对列的引用。

下面我举了一个例子,如果你必须使用LARGE().

在此处输入图像描述

中的公式B11

=INDEX(D2:D8,MATCH(B10,A2:A8,0))

中的公式B12

{=INDEX(B2:D8,MATCH(B10,A2:A8,0),LARGE((B1:D1="Test1")*(COLUMN(B1:D1)-1),1))}

注意最后一个是通过输入的数组公式CtrlShiftEnter


推荐阅读