首页 文章

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

提问于
浏览
2

所以我在Excel中有这个表

A  B  C  D  E  F
  __________________
1 | X  1  5 10     Y
2 | Y  2  4  9     5
3 | Z  3  7  8

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

示例:在表中,输入字符Y和数字5应该为9,这是第2行中大于5的下一个数字 .

我一直试图找到索引和匹配的组合,但一直无法让它工作 . 我猜它应该看起来像这样:

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

任何帮助,将不胜感激 .

2 回答

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

    enter image description here

  • 2

    这是一个纯粹的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中找到并提取匹配的行 .

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

    (3)使用MATCH的非精确形式,找出小于或等于F2的最后一个值(即示例中为4) .

    (4)如果这等于F2,则将其作为结果

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

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

相关问题