数组公式,输入后按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。
用一个公式很难,我是没想出来,我的想法是分两步走,
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向下填充即可
一楼肯定不对。TRUE只能查到第一个相似的,你把350改成276,第三行结果就是错的。
=IF(ABS(VLOOKUP(B1,$A$1:$C$7,1,TRUE)-B1)<=20,VLOOKUP(B1,$A$1:$C$7,3,TRUE),"")