如何找到升序排序范围内大于或等于搜索值的第一个值?
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))
如何找到大于或等于按升序排序的范围内某个值的第一个值? 给定范围
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))