获取下一个数字,该数字大于Excel中与另一个数字匹配的行中的数字

所以我在Excel中有这张表

ABCDEF __________________ 1 | X 1 5 10 Y 2 | Y 2 4 9 5 3 | Z 3 7 8 

我希望能够从列A和数字中input一个字符(或数字),并且有一个公式可以输出与input字符匹配的行中input的数字大于或等于input数字的下一个数字。

例如:在表中,input的字符Y和数字5应该是9,这是从第2行开始大于5的下一个数字。

我一直在试图find索引和匹配的组合,但一直没有能够得到它的工作。 我猜它应该看起来像这样:

 INDEX(B:D;MATCH(TRUE;INDEX(B:D;MATCH(F1;A:A;0);0)>=F2;0)) 

任何帮助,将不胜感激。

 =AGGREGATE(15,6,$B$1:$D$3/(($A$1:$A$3=F1)*($B$1:$D$3>=F2)), 1) 'Ctrl+Shift+Enter 

在这里输入图像说明

这是一个纯粹的INDEX / MATCH版本,它在整列上仍然很快

 =IFERROR(IF(F2<INDEX(B:D,MATCH(F1,A:A,0),1),INDEX(B:D,MATCH(F1,A:A,0),1),IF(INDEX(INDEX(B:D,MATCH(F1,A:A,0),0),MATCH(F2,INDEX(B:D,MATCH(F1,A:A,0),0)))=F2,INDEX(INDEX(B:D,MATCH(F1,A:A,0),0),MATCH(F2,INDEX(B:D,MATCH(F1,A:A,0),0))),INDEX(INDEX(B:D,MATCH(F1,A:A,0),0),MATCH(F2,INDEX(B:D,MATCH(F1,A:A,0),0))+1))),"No match") 

方法

(1)从B:D中find并提取匹配的行。

(2)如果F2小于该行的第一个元素,则设置结果等于第一个元素。

(3)使用MATCH的非确切forms,找出哪个是最后一个小于或等于F2的值(例如4)。

(4)如果这等于F2,则给出结果

(5)如果不是,则给出下一个值作为结果(例如9)。

如果F2大于该行的最后一个元素,则会给出“不匹配”。