检查一个单元格是否在两个单元格之间的范围内的公式
Formula to check if one cell is within a range between two cells
我正在尝试搜索具有给定值的两列。例如:
A(值)
0-2
3-4
5-6
7-8
9-10
B
275
285
295
305
330
现在说我有 3
作为给定值。我想将它与 A 中的值范围进行比较,因此在逻辑意义上它会落在 3-4 和 return 285
.
之下
我认为 Vlookup 会参与……也许是一个 if 语句。
这个公式是否如你所愿:
=LOOKUP(3,ARRAYFORMULA(VALUE(LEFT(FILTER(A:A,LEN(A:A)),SEARCH("-",FILTER(A:A,LEN(A:A)))-1))),FILTER(B:B,LEN(B:B)))
此外,如果您使用 'closed ranges',您可以尝试类似的方法:
=ArrayFormula(VLOOKUP("3", {REGEXEXTRACT(A2:A6, "(\d+)-"), B2:B6}, 2, 1))
更改 A
值并使用如下公式可能更简单:
=vlookup(D1,A:B,2)
在这种情况下,任何大于 9 的值也会 return 330
(除非说 IF 子句排除了这种情况)。
vlookup 没有第四个参数会导致不精确匹配(以及精确匹配),当查找范围的第一列按升序排序时,将选择适合小于 search_key。
我正在尝试搜索具有给定值的两列。例如:
A(值)
0-2
3-4
5-6
7-8
9-10
B
275
285
295
305
330
现在说我有 3
作为给定值。我想将它与 A 中的值范围进行比较,因此在逻辑意义上它会落在 3-4 和 return 285
.
之下
我认为 Vlookup 会参与……也许是一个 if 语句。
这个公式是否如你所愿:
=LOOKUP(3,ARRAYFORMULA(VALUE(LEFT(FILTER(A:A,LEN(A:A)),SEARCH("-",FILTER(A:A,LEN(A:A)))-1))),FILTER(B:B,LEN(B:B)))
此外,如果您使用 'closed ranges',您可以尝试类似的方法:
=ArrayFormula(VLOOKUP("3", {REGEXEXTRACT(A2:A6, "(\d+)-"), B2:B6}, 2, 1))
更改 A
值并使用如下公式可能更简单:
=vlookup(D1,A:B,2)
在这种情况下,任何大于 9 的值也会 return 330
(除非说 IF 子句排除了这种情况)。
vlookup 没有第四个参数会导致不精确匹配(以及精确匹配),当查找范围的第一列按升序排序时,将选择适合小于 search_key。