用VLOOKUP获取下一个较低的值

我有以下Excel电子表格:

ABCD 1 15.000 Product 1 7.500 Product 2 2 5.000 Product 2 3 1.000 Product 3 4 0 Product 4 5 

单元格C1中,我input一个随机数(在本例中为7.500) 。 现在我要在Cell D1中将相应的Product显示为Cell C1中的值。 由于列A中不存在7.500,因此应使用下一个较低的值。 在这种情况下,属于产品2的5.000。

我尝试在单元格D2中使用以下公式,但不是获取产品2,而是总是得到产品4。

 =VLOOKUP(F16,$A$1:$B$4,2,TRUE) =VLOOKUP(F16,$A$1:$B$4,2) 

你有什么想法如何解决这个问题?

对于未分类的数据,您可以使用以下公式:

 =INDEX(B1:B4,MATCH(LARGE($A$1:$A$4,COUNTIF($A$1:$A$4,">"&C1)+1),A1:A4,0)) 

请参阅图片以供参考

在这里输入图像说明

我会尝试添加列,它表示给定的7.5和col A之间的差异,如下所示: =IF($C$1-A1<0,999999,$C$1-A1) ,然后得到最小值,例如=MIN(E1:E4) 。 然后在B列中得到相应的值

如果顺序不能保证是递增的,那么你可以使用一个数组公式(使用ctrl + shift + enter代替刚刚input的数组公式)

 =INDEX(B2:B5,MATCH((C2-MIN(IF((C2-A2:A5)<0,MAX(A2:A5),C2-A2:A5))),A2:A5,0))