如何找到升序排序范围内大于或等于搜索值的第一个值?

How can I find the first value in a ascending order sorted range, that is greater than or equal to a search value?

如何找到大于或等于按升序排序的范围内某个值的第一个值? 给定范围

A B
11 search_value
12.1 13
12.9
13
15

搜索值如 12.8、12.9、13 或 13.1,我如何才能找到范围内的第一个值 >= 搜索值?

可以用这个公式来做到这一点: =IF(ISNUMBER(MATCH(B2,A1:A5,0)), B2, INDEX(A1:A5,MATCH(B2,A1:A5,1)+1,1))

如果有完全匹配,就使用它 否则然后找到小于或等于值(这将是一个小于值)并找到下一个比它更高的值。

您可以使用这个公式:=INDEX(A:A,MATCH(ROUNDDOWN(B2)+1,A:A),0)

或使用=INDEX(A:A,MATCH(ROUNDUP(B2),A:A),0)

获取A列的数字向下舍入+1的匹配索引

例如。 12.9 ROUNDDOWN -> 12 -> +1 -> 13 MATCH -> 4 (row) INDEX(A:A) -> 13

例如。 12.9 ROUNDUP -> 12 -> 13 MATCH -> 4 (row) INDEX(A:A) -> 13

如果 INDEX 的值范围在 A 列中,并且您要匹配条件为 TRUE 的第一个值的单元格是 B2,您可以使用这样的公式:

=INDEX(A:A,MATCH(TRUE,INDEX(A:A>=B2,0),))

并且,对于 return 第一个符合条件的 MATCH 单元格的单元格地址,您可以使用此:

=ADDRESS(MATCH(TRUE,INDEX(A:A>=B2,0),0),1)

到return满足条件的最小值,可以这样用:

=MINIFS($A:$A,$A:$A,">="&$B2)

使用:

=IFNA(VLOOKUP(B2; A:A; 1; 1))