EXCEL怎么从一列数字中 找出跟一个数字最相近的几个?

如题所述

使用公式=INDEX(A:A,MATCH(SMALL(ABS(A$1:A$100-B$1),ROW(1:1)),ABS(A$1:A$100-B$1),))即可,例如C列是我们需要求的值,A列为数据库,具体操作演示如下。

1、在系统中打开需要编辑的excel文件。

2、在C1输入=INDEX(A:A,MATCH(SMALL(ABS(A$1:A$100B$1),ROW(1:1)),ABS(A$1:A$100-B$1),))。

3、按上档键回车键和ctrl键组合按键结束公式输入。

4、下拉C1复制格式到下方单元格即可。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-28
比如一列数字在A1:A100中,想找到和B1里面的数字最接近的几个
C1输入公式
=INDEX(A:A,MATCH(SMALL(ABS(A$1:A$100-B$1),ROW(1:1)),ABS(A$1:A$100-B$1),))
数组公式以ctrl+shift+enter三键组合结束输入
公式下拉即可追问

你好 可否举个例子说明下这个公式里面的各个元素都代表什么东西 什么意思吗 ?

=INDEX(A:A,MATCH(SMALL(ABS(A$1:A$100-B$1),ROW(1:1)),ABS(A$1:A$100-B$1),))

追答

这个有点复杂,不过你要求了,我就举例子给你说一下吧
我们把公式简化为:
=INDEX(A:A,MATCH(SMALL(ABS(A$1:A$10-B$1),ROW(1:1)),ABS(A$1:A$10-B$1),))
A1:A10中放着 12.5 23 89 13 54 38 74 11 62 8
B1里面的是13那么ABS(A$1:A$10-B$1)这个用A1到A10分别减去B1的数并返回绝对值会返回
0.5 10 76 0 41 25 61 2 49 3这样10个数
跟着这个公式SMALL(ABS(A$1:A$10-B$1),ROW(1:1))返回最小的那个数 0
接下来这个公式
MATCH(SMALL(ABS(A$1:A$10-B$1),ROW(1:1)),ABS(A$1:A$10-B$1),)查找0在刚才那个数列中的位置.

最后=INDEX(A:A,MATCH(SMALL(ABS(A$1:A$10-B$1),ROW(1:1)),ABS(A$1:A$10-B$1),))
这个公式取出A列中那个位置的数值13

当你下拉公式的时候row(1:1)会变成row(2:2)即第二行的行号2,small函数会取得第二接近的数
然后再下拉取第三接近的数.......

本回答被提问者和网友采纳
第2个回答  2013-03-19
使用Vlookup函数

假设数据在A1:A100, B1是已知的, B2是要找的数

B2=vlookup(B1,$A$1:$A$100,2,false), 若没有与B1相同的值,则找最接近的。追问

B1,$A$1:$A$100,2,false 是什么意思 怎么运用

追答

是公式的语法,解释为:

1、B1,要找的值
2、查找的区域
3、在第四列找
4、false是查找错误,返回#N/A,指的是精确查找,若省去false,是查找最接近的值

追问

直接输这个公式吗 ?
=vlookup(B1,$A$1:$A$100,2,false),

追答

对,你是模糊查找,对公式做点修改,将false去掉
=vlookup(B1,$A$1:$A$100,2)

追问

已知数据A2:A119 ,D2已知道 我输这个公式 =VLOOKUP(D2,A2:A119,2,) 还是不行 显示#REF 麻烦你 帮我看看 谢谢了

第3个回答  2013-03-19
vlookup函数,留意它的第四个参数,有精确查找和大致查找两种类型