获取下一个数字,该数字大于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大于该行的最后一个元素,则会给出“不匹配”。