ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Discussion (Misc queries) (https://www.excelbanter.com/excel-discussion-misc-queries/)
-   -   closet to 0 (https://www.excelbanter.com/excel-discussion-misc-queries/218802-closet-0-a.html)

snappertime

closet to 0
 
I want to find the number in a column that is closest to 0 (number may be
positive or negative) and return a number in an adjacent cell, if no number
in the adjacent cell I want the next number that is closest to 0 that does
have a number in the adjacent cell.
eg.
o/s ch
16.337
-2.318
-5.013 34.352
2.158
12.358
11.514
-22.643
-1.186
17.193
-18.996
27.852 110.781
-31.614 127.861
25.418


I want 34.352 to be displayed

JE McGimpsey

closet to 0
 
One way (array-entered: CTRL-SHIFT-ENTER or CMD-RETURN):

=INDEX(B1:B13, MATCH(MIN(IF(B1:B13<"", ABS(A1:A13))), ABS(A1:A13),
FALSE))


In article ,
snappertime wrote:

I want to find the number in a column that is closest to 0 (number may be
positive or negative) and return a number in an adjacent cell, if no number
in the adjacent cell I want the next number that is closest to 0 that does
have a number in the adjacent cell.
eg.
o/s ch
16.337
-2.318
-5.013 34.352
2.158
12.358
11.514
-22.643
-1.186
17.193
-18.996
27.852 110.781
-31.614 127.861
25.418


I want 34.352 to be displayed


dhstein

closet to 0
 
JE McGimpsey,

That's terrific. I was reading the post and had no idea how to do that.
I tried your solution and it works. But I have no idea what it's doing or
why it works. Any chance you could explain it a little bit? Thanks.

"JE McGimpsey" wrote:

One way (array-entered: CTRL-SHIFT-ENTER or CMD-RETURN):

=INDEX(B1:B13, MATCH(MIN(IF(B1:B13<"", ABS(A1:A13))), ABS(A1:A13),
FALSE))


In article ,
snappertime wrote:

I want to find the number in a column that is closest to 0 (number may be
positive or negative) and return a number in an adjacent cell, if no number
in the adjacent cell I want the next number that is closest to 0 that does
have a number in the adjacent cell.
eg.
o/s ch
16.337
-2.318
-5.013 34.352
2.158
12.358
11.514
-22.643
-1.186
17.193
-18.996
27.852 110.781
-31.614 127.861
25.418


I want 34.352 to be displayed



JE McGimpsey

closet to 0
 
Briefly:

x: IF(B1:B13<"", ABS(A1:A13)

returns an array of the absolute values for each cell in A1:A13 for
which there's a corresponding value in B1:B13. If there's no
corresponding B value, the array entry contains FALSE.

y: MIN(x)

returns the minimum value in the array of absolute values.

z: MATCH(y, ABS(A1:A13), FALSE)

returns the index of the minimum value within the range of absolute
values

and INDEX(B1:B13, z)

returns the value in B1:B13 corresponding to that index.

In article ,
dhstein wrote:

I was reading the post and had no idea how to do that.
I tried your solution and it works. But I have no idea what it's doing or
why it works. Any chance you could explain it a little bit? Thanks.

"JE McGimpsey" wrote:

One way (array-entered: CTRL-SHIFT-ENTER or CMD-RETURN):

=INDEX(B1:B13, MATCH(MIN(IF(B1:B13<"", ABS(A1:A13))), ABS(A1:A13),
FALSE))


dhstein

closet to 0
 
Thanks JE.

"JE McGimpsey" wrote:

Briefly:

x: IF(B1:B13<"", ABS(A1:A13)

returns an array of the absolute values for each cell in A1:A13 for
which there's a corresponding value in B1:B13. If there's no
corresponding B value, the array entry contains FALSE.

y: MIN(x)

returns the minimum value in the array of absolute values.

z: MATCH(y, ABS(A1:A13), FALSE)

returns the index of the minimum value within the range of absolute
values

and INDEX(B1:B13, z)

returns the value in B1:B13 corresponding to that index.

In article ,
dhstein wrote:

I was reading the post and had no idea how to do that.
I tried your solution and it works. But I have no idea what it's doing or
why it works. Any chance you could explain it a little bit? Thanks.

"JE McGimpsey" wrote:

One way (array-entered: CTRL-SHIFT-ENTER or CMD-RETURN):

=INDEX(B1:B13, MATCH(MIN(IF(B1:B13<"", ABS(A1:A13))), ABS(A1:A13),
FALSE))




All times are GMT +1. The time now is 06:52 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com