excel中,如何返回与对应数据最接近的对应单元格的数据???

2025-03-07 14:59:04
推荐回答(4个)
回答1:

数组公式,输入后按ctrl+shift+enter完成。

=IF(MIN(ABS($A$1:$A$7-B1))>20,"",INDEX($C$1:$C$7,MATCH(MIN(ABS($A$1:$A$7-B1)),ABS($A$1:$A$7-B1),)))

对补充问题的回复:
选中D1:D7
输入数组公式
=IF(ROW($1:$7)=MATCH(1,0/MMULT(--(ABS(TRANSPOSE($A$1:$A$7)-$B$1:$B$7)=MIN(ABS(TRANSPOSE($A$1:$A$7)-$B$1:$B$7))),ROW($1:$7)^0)),INDEX($C$1:$C$7,MATCH(1,0/MMULT(--(ABS($A$1:$A$7-TRANSPOSE($B$1:$B$7))=MIN(ABS($A$1:$A$7-TRANSPOSE($B$1:$B$7)))),ROW($1:$7)^0))),"")

输入后按ctrl+shift+enter完成。

我试过没有问题,如果有疑问可以加我百度hi。

回答2:

用一个公式很难,我是没想出来,我的想法是分两步走,

1,在D1中输入数组公式(楼上的公式)
=IF(MIN(ABS($A$1:$A$7-B1))>20,"",INDEX($C$1:$C$7,MATCH(MIN(ABS($A$1:$A$7-B1)),ABS($A$1:$A$7-B1),)))

2,在D2中输入数组公式

=IF(MIN(ABS($A$1:$A$7-B2))>20,"",IF(COUNTIF($D$1:D1,INDEX($C$1:$C$7,MATCH(MIN(ABS($A$1:$A$7-B2)),ABS($A$1:$A$7-B2),)))>0,"",INDEX($C$1:$C$7,MATCH(MIN(ABS($A$1:$A$7-B2)),ABS($A$1:$A$7-B2),))))

再把D2向下填充即可

回答3:

一楼肯定不对。TRUE只能查到第一个相似的,你把350改成276,第三行结果就是错的。

回答4:

=IF(ABS(VLOOKUP(B1,$A$1:$C$7,1,TRUE)-B1)<=20,VLOOKUP(B1,$A$1:$C$7,3,TRUE),"")