ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Worksheet Functions (https://www.excelbanter.com/excel-worksheet-functions/)
-   -   Locating Last Nonzero Cell in a Row (https://www.excelbanter.com/excel-worksheet-functions/45603-locating-last-nonzero-cell-row.html)

wilby31

Locating Last Nonzero Cell in a Row
 

I need to locate the last nonzero term in a row. The rows consist of
zeros and ones.

For instance:

__ A B C D E F
1| 1 1 1 0 0 3
2| 1 0 1 0 1 5
3| 0 1 0 1 1 5

As you can see in column F, I have my desired results (the number of
the column of the last 1). I have tried incorporating SUM and COUNTIF
functions to place where the last 1 would be in a row with a known
size, but I can't figure out how to account for the 0's that are
located within the first and the last 1.

Any ideas? This has plagued me for a couple days now.

Thanks,
Brent


--
wilby31
------------------------------------------------------------------------
wilby31's Profile: http://www.excelforum.com/member.php...o&userid=27287
View this thread: http://www.excelforum.com/showthread...hreadid=467919


Biff

Hi!

One way:

Entered as an array using the key combo of CTRL,SHIFT,ENTER:

=MAX(IF(A1:E10,COLUMN(A1:E1)))

Biff

"wilby31" wrote in
message ...

I need to locate the last nonzero term in a row. The rows consist of
zeros and ones.

For instance:

__ A B C D E F
1| 1 1 1 0 0 3
2| 1 0 1 0 1 5
3| 0 1 0 1 1 5

As you can see in column F, I have my desired results (the number of
the column of the last 1). I have tried incorporating SUM and COUNTIF
functions to place where the last 1 would be in a row with a known
size, but I can't figure out how to account for the 0's that are
located within the first and the last 1.

Any ideas? This has plagued me for a couple days now.

Thanks,
Brent


--
wilby31
------------------------------------------------------------------------
wilby31's Profile:
http://www.excelforum.com/member.php...o&userid=27287
View this thread: http://www.excelforum.com/showthread...hreadid=467919




Domenic

Try...

F1, copied down:

=LOOKUP(2,1/(A1:E1=1),COLUMN(A1:E1)-COLUMN(A1)+1)

....confirmed with just ENTER, or...

=MATCH(2,1/(A1:E1=1))

....confirmed with CONTROL+SHIFT+ENTER, not just ENTER.

Hope this helps!

In article ,
wilby31 wrote:

I need to locate the last nonzero term in a row. The rows consist of
zeros and ones.

For instance:

__ A B C D E F
1| 1 1 1 0 0 3
2| 1 0 1 0 1 5
3| 0 1 0 1 1 5

As you can see in column F, I have my desired results (the number of
the column of the last 1). I have tried incorporating SUM and COUNTIF
functions to place where the last 1 would be in a row with a known
size, but I can't figure out how to account for the 0's that are
located within the first and the last 1.

Any ideas? This has plagued me for a couple days now.

Thanks,
Brent


Bruno Campanini

"wilby31" wrote in
message ...

I need to locate the last nonzero term in a row. The rows consist of
zeros and ones.

For instance:

__ A B C D E F
1| 1 1 1 0 0 3
2| 1 0 1 0 1 5
3| 0 1 0 1 1 5

As you can see in column F, I have my desired results (the number of
the column of the last 1). I have tried incorporating SUM and COUNTIF
functions to place where the last 1 would be in a row with a known
size, but I can't figure out how to account for the 0's that are
located within the first and the last 1.

Any ideas? This has plagued me for a couple days now.


Another alternative:

{=MAX(OFFSET(A1,,,1,5)*COLUMN(A1:E1))}
FormulaArray

Bruno



Bruno Campanini

"wilby31" wrote in
message ...

I need to locate the last nonzero term in a row. The rows consist of
zeros and ones.

For instance:

__ A B C D E F
1| 1 1 1 0 0 3
2| 1 0 1 0 1 5
3| 0 1 0 1 1 5

As you can see in column F, I have my desired results (the number of
the column of the last 1). I have tried incorporating SUM and COUNTIF
functions to place where the last 1 would be in a row with a known
size, but I can't figure out how to account for the 0's that are
located within the first and the last 1.

Any ideas? This has plagued me for a couple days now.


Another alternative:

{=MAX(OFFSET(A1,,,1,5)*COLUMN(A1:E1))}
FormulaArray

Bruno



wilby31


Thanks everyone! Those are all great suggestions! You saved me from a
severe migrane. :)


--
wilby31
------------------------------------------------------------------------
wilby31's Profile: http://www.excelforum.com/member.php...o&userid=27287
View this thread: http://www.excelforum.com/showthread...hreadid=467919


Harlan Grove

Bruno Campanini wrote...
....
Another alternative:

{=MAX(OFFSET(A1,,,1,5)*COLUMN(A1:E1))}
FormulaArray


Never use volatile functions (like OFFSET) unnecessarily. Biff's
similar array formula,

=MAX(IF(A1:E10,COLUMN(A1:E1)))

is preferable. Further, there's NEVER a good reason to use OFFSET with
constant 2nd through 5th arguments. Simple cell references would always
be preferable for clarity as well as efficiency.



All times are GMT +1. The time now is 03:51 PM.

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