如果我想要找到一个我不知道范围内的确切值的值,我可以使用什么公式(没有VBA)?所以让我说,我想找到最接近"2“的值,从范围的末尾开始。
A B
1 1.45
2 2.03
3 3.40
4 3.01
5 1.94
6 0.99在这种情况下,答案是"5“。
Edit1:我注意到我的问题需要更多的解释。就这样开始了。我不仅对范围的end中最接近的匹配值感兴趣,而且对范围的start上的匹配值也感兴趣。换句话说,我想从上面的例子中得到"2“和"5”。由于在范围开始时获得值并不难,所以我只需要在范围结束时获得值的帮助。但任何获得这两种价值的建议都是值得赞赏的。
我无法对数据进行排序,因为数据也用于其他目的。
Edit2:我想我找到了一种方法,如果我错了就纠正我。公式变得有点长,所以我把它分解成几个部分。
MAX(
INDEX(A,
MATCH(
SMALL(ABS(B-$C$1),1),
ABS(B-$C$1),
0
)
)
INDEX(A,
MATCH(
SMALL(ABS(B-$C$1),2),
ABS(B-$C$1),
0
)
)
)通过调用两个几乎相等的函数,最大函数将输出A的最高值,其中第一个函数将找到与查找值最接近的值,第二个函数将找到与查找值最接近的第二个值。
发布于 2014-01-03 16:06:27
这个答案假设A列中的数据是单调增加的。
在$C$1中测试您的编号(在您的情况下是2)。(我已经假设您的输入表是A1:B6对齐的)。
然后,在另一个单元格中,写:
=MAX(IF(ABS(ABS(B1:B6-$C$1)-MIN(ABS(B1:B6-$C$1)) < 0.00000000000001), A1:A6, 0))这是一个数组公式;编辑后,您需要按Ctrl + Shift +返回。
(它使用一个技巧,将IF语句扩展到数组,只发出最小值,MAX根据问题规范选择更大的索引。在Excel的浮点类型中,有一个小数字作为不精确的解决方法。)
Excel中的数组公式非常强大。
发布于 2014-01-05 19:24:07
我想我已经找到办法了,如果我错了就纠正我。公式变得有点长,所以我把它分解成几个部分。
MAX(
INDEX(A,
MATCH(
SMALL(ABS(B-$C$1),1),
ABS(B-$C$1),
0
)
)
INDEX(A,
MATCH(
SMALL(ABS(B-$C$1),2),
ABS(B-$C$1),
0
)
)
)通过调用两个几乎相等的函数,最大函数将输出A的最高值,其中第一个函数将找到与查找值最接近的值,第二个函数将找到与查找值最接近的第二个值。
发布于 2014-01-03 15:55:38
您可以使用VLOOKUP:
Vlookup是Excel中最流行的查找函数之一。当您需要根据特定值从表中提取数据时,可以使用Vlookup进行此操作。
http://www.spreadsheetsmadeeasy.com/how-use-vlookup-excel/
*看看“搜索数字时的Vlookup”

让我们通过使用Vlookup公式来查看一些返回值。我将在0.03的温度下用这个公式做一个Vlookup:
=VLOOKUP(0.03,$A$2:$B$8,2,TRUE)
结果:“冷得可笑”
Excel处理此公式的方式类似于我们看到的最后一个公式:
它首先查看表的第一列,其值为0.03或接近(近似)。从0.01开始。因为0.01小于0.03,所以它移动到下一个。然后是32。由于32大于0.03,它作为最接近的匹配恢复到0.01。现在,它转到第2列,并返回0.01值旁边的相应值,这是“可笑的寒冷”。
https://stackoverflow.com/questions/20907461
复制相似问题