执行查找 return 个最接近的值

Perform Lookup that return nearest value

在excel中,假设我有两列数据:

Column A:
-10
0
10

Column B:
Ugly
OK
Pretty

我尝试从 A 列中查找介于 -9 和 -1 之间的值,它会 return "Ugly"。我如何做到 return "OK"? 1 到 9 的值也是如此,我想要 excel 到 return 我 "Pretty"。我试图找到索引匹配方法,但找不到像这样的简单示例。

奖金问题:如果我 "name" A1:B3 作为 "DogRating",我如何在公式中使用这个名称,以便它引用 "Pretty" - 即 DogRating(2 ,3) 通常在数组中?这在 excel.

中不起作用

谢谢

如果你只使用 10,0,1 作为你的索引,你可以使用下面的公式得到你的结果

Column A:
-10
0
1

Column B:
Ugly
OK
Pretty

=VLOOKUP(F1,DogRating,2,TRUE)

DogRating 是 A1:B3

F1 是用户输入

TRUE用于近似匹配

结果:

-10 to -1 => Ugly
0 => OK
1 to 10 => Pretty

顺便说一句,对于大于 10 的值,结果也很好

同意 nighcrawler 的观点。 VLOOKUP 的行为在这里被明确定义为要求查找 table 索引以升序出现,其中范围查找的结果将始终低于您的查找值: http://www.excelfunctions.net/Vlookup-Example-Closest-Match.html

关于你的加分题,你可以使用Index函数,如下所示: How to find value of a cell from named range

将值放入C1,然后在另一个单元格输入数组公式:

=INDEX(B1:B3,MATCH(MIN(ABS(A1:A3-C1)),ABS(A1:A3-C1),0))

例如:

数组公式必须用Ctrl + Shift + 输入Enter 而不仅仅是 Enter 键。

公式在 A 列中找到最接近 C1 中的值和 returns 列中相邻值的值B(此公式不需要对table进行排序。)