问与答128:如何找到最接近0的数值?

excelperfect

Q有一列数值,我想找到与0最接近的数值是什么,如下图1所示,可以看出单元格A9中的数值1最接近0,我使用什么公式才能找到该值?

图1

A可以使用数组公式来实现。

在单元格C1中输入数组公式:

=INDEX(A1:A15,MATCH(MIN(ABS(A1:A15)),ABS(A1:A15),0))

结果如下图2所示。

图2

这个公式应该比较容易理解。在公式中使用ABS函数取数据区域中的绝对值,然后使用MIN函数取其中的最小值,这个值就是最接近0的值,接着使用MATCH函数查找该值的位置,再传递给INDEX函数获取这个值。结合示例,其过程为:

=INDEX(A1:A15,MATCH(MIN(ABS(A1:A15)),ABS(A1:A15),0))

转换为:

=INDEX(A1:A15,MATCH(MIN({8;2;5;16;10;9;6;22;1;29;33;5;11;36;15}),ABS(A1:A15),0))

转换为:

=INDEX(A1:A15,MATCH(1,ABS(A1:A15),0))

转换为:

=INDEX(A1:A15,MATCH(1,{8;2;5;16;10;9;6;22;1;29;33;5;11;36;15},0))

转换为:

=INDEX(A1:A15,9)

得到:

1

又问:如何要获取最接近0的数值所在的单元格位置,如何使用公式?

在单元格D1中输入数组公式:

=ADDRESS(MATCH(MIN(ABS(A1:A15)),ABS(A1:A15),0)+ROW(A1)-1,3)

结果如下图3所示。

图3

注意,公式中,+ROW(A1)-1是为了确保当数据行不是从第1行开始时得到正确的行号。

(0)

相关推荐