执行查找 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进行排序。)
在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进行排序。)