Counting Zeros in a row until encounter first non-zero value

B

Bubba

Is there a function, or combination of nested functions to count the number
of zeros in a row up until the first non-zero valued cell?

For Example

0 0 0 0 0 35 0 50 60
0 0 0 0 0 0 40 10 0 0 30

For the First Row I want the function to return the value 6 and the second
row to return the value '7'

I do not want to know the total number of zeros in a row, I want to know the
number of zeros in a row until I encounter the first nonzero cell.
 
G

Glenn

Bubba said:
Is there a function, or combination of nested functions to count the number
of zeros in a row up until the first non-zero valued cell?

For Example

0 0 0 0 0 35 0 50 60
0 0 0 0 0 0 40 10 0 0 30

For the First Row I want the function to return the value 6 and the second
row to return the value '7'

I do not want to know the total number of zeros in a row, I want to know the
number of zeros in a row until I encounter the first nonzero cell.


Try the following array formula (commit with CTRL+SHIFT+ENTER):

=MATCH(1,--(A1:K1>0),0)

That will return the result you specified, but not the answer to your original
question. Subtract one to answer that question.
 
T

T. Valko

Will there *always* be a non-zero entry to find? Are the non-zero numbers
*always* positive numbers greater than 0? Are there any TEXT entries in the
range? Are there any formula blanks in the range?
 
B

Bubba

There will always be a non-zero number that is positive (greater than zero).
There are no text entries and no formula blanks.

I have tried:

=IF(J6=0,MATCH(0.0001,J6:BM6),0)

but the result is not always correct. Sometimes the formula counts
correctly, other times it returns a number equal to the range aka if data is
in columns J:BM it might sometimes returns '56' even though a nonzero number
was encountered before Column BM
 
J

Jacob Skaria

The ealier formula works only if the 1st cell starts with zero...If the 1st
cell do not have a zero then try the below

=MATCH(0.1,A6:J6)-MATCH(0,A6:J6,0)+1

If this post helps click Yes
 
T

T. Valko

Ok, based on this:
0 0 0 0 0 35 0 50 60
0 0 0 0 0 0 40 10 0 0 30
For the First Row I want the function to return the value
6 and the second row to return the value '7'

What you want to do is find the position of the first non-zero entry. In row
1 the first non-zero entry is located at position 6 and for row 2 the first
non-zero entry is located at position 7.

Try this:

=MATCH(TRUE,INDEX(J1:BM1>0,0),0)
 
B

Bubba

Perfect, thank you very much!

T. Valko said:
Ok, based on this:


What you want to do is find the position of the first non-zero entry. In row
1 the first non-zero entry is located at position 6 and for row 2 the first
non-zero entry is located at position 7.

Try this:

=MATCH(TRUE,INDEX(J1:BM1>0,0),0)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top