用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))