Max Consecutive Blank Cells between 1st non-blank cell and last non-blank cell

tkraft

New Member
Joined
Sep 4, 2018
Messages
5
Hello Group, I am attempting to determine the max consecutive blank cells in a row of data between the 1st and last non-blank cells of a range. This is what I have come up with on my own but I seem to stuggling to get it to work. Would anyone have any insight? Thanks


=MAX(FREQUENCY(IF(LOOKUP(2,1/ISNUMBER(1/(1:1<>"")),COLUMN(1:1))-MATCH(TRUE,1:1<>"",0)+1="",COLUMN(LOOKUP(2,1/ISNUMBER(1/(1:1<>"")),COLUMN(1:1))-MATCH(TRUE,1:1<>"",0)+1)),IF(LOOKUP(2,1/ISNUMBER(1/(1:1<>"")),COLUMN(1:1))-MATCH(TRUE,1:1<>"",0)+1<>"",COLUMN(LOOKUP(2,1/ISNUMBER(1/(1:1<>"")),COLUMN(1:1))-MATCH(TRUE,1:1<>"",0)+1))))
 

Excel Facts

Can you sort left to right?
To sort left-to-right, use the Sort dialog box. Click Options. Choose "Sort left to right"
Assuming You have data in Column B

Code:
=max(small(if((b1:index(b:b,lookup(2,1/(b:b<>""),row(b:b))))<>"",row((b1:index(b:b,lookup(2,1/(b:b<>""),row(b:b)))))),row(b1:index(b:b,countif((b1:index(b:b,lookup(2,1/(b:b<>""),row(b:b)))),"<>")-1))+1)-small(if((b1:index(b:b,lookup(2,1/(b:b<>""),row(b:b))))<>"",row((b1:index(b:b,lookup(2,1/(b:b<>""),row(b:b)))))),row(b1:index(b:b,countif((b1:index(b:b,lookup(2,1/(b:b<>""),row(b:b)))),"<>")-1)))-1)
 
Last edited:
Upvote 0
For Row Wise Data:

Code:
=MAX(SMALL(IF((A1:INDEX(1:1,LOOKUP(2,1/(1:1<>""),COLUMN(1:1))))<>"",COLUMN((A1:INDEX(1:1,LOOKUP(2,1/(1:1<>""),COLUMN(1:1)))))),COLUMN((A1:INDEX(1:1,COUNTIF(1:1,"<>")-1)))+1)-SMALL(IF((A1:INDEX(1:1,LOOKUP(2,1/(1:1<>""),COLUMN(1:1))))<>"",COLUMN((A1:INDEX(1:1,LOOKUP(2,1/(1:1<>""),COLUMN(1:1)))))),COLUMN((A1:INDEX(1:1,COUNTIF(1:1,"<>")-1))))-1)

,Where data is in Row 1

For Column Wise Data:

Code:
=MAX(SMALL(IF((A1:INDEX(A:A,LOOKUP(2,1/(A:A<>""),ROW(A:A))))<>"",ROW((A1:INDEX(A:A,LOOKUP(2,1/(A:A<>""),ROW(A:A)))))),ROW((A1:INDEX(A:A,COUNTIF(A:A,"<>")-1)))+1)-SMALL(IF((A1:INDEX(A:A,LOOKUP(2,1/(A:A<>""),ROW(A:A))))<>"",ROW((A1:INDEX(A:A,LOOKUP(2,1/(A:A<>""),ROW(A:A)))))),ROW((A1:INDEX(A:A,COUNTIF(A:A,"<>")-1))))-1)

,Where data is in Column A
 
Upvote 0
Hi Nishant,
Thank you for the excellent response. I have attached a sample of my data.

Row LabelsNovember 02, 2015November 03, 2015November 04, 2015November 05, 2015November 06, 2015November 08, 2015November 11, 2015November 12, 2015November 13, 2015November 14, 2015November 15, 2015November 16, 2015November 17, 2015November 18, 2015November 19, 2015November 20, 2015November 21, 2015
3
4
10
13
14
21
41
51
55
57
412163010515
412307.52.51.511
4140899
417743.51414710.510.53.53.5
4193918.818.810.6
421211010
423435.1
4235342
42430
42700
<colgroup><col width="182" style="width: 137pt; mso-width-source: userset; mso-width-alt: 6656;"> <col width="127" style="width: 95pt; mso-width-source: userset; mso-width-alt: 4644;" span="17"> <tbody> </tbody>


Unfortunatel I am unable to the formula to wor.



For Row Wise Data:

Code:
=MAX(SMALL(IF((A1:INDEX(1:1,LOOKUP(2,1/(1:1<>""),COLUMN(1:1))))<>"",COLUMN((A1:INDEX(1:1,LOOKUP(2,1/(1:1<>""),COLUMN(1:1)))))),COLUMN((A1:INDEX(1:1,COUNTIF(1:1,"<>")-1)))+1)-SMALL(IF((A1:INDEX(1:1,LOOKUP(2,1/(1:1<>""),COLUMN(1:1))))<>"",COLUMN((A1:INDEX(1:1,LOOKUP(2,1/(1:1<>""),COLUMN(1:1)))))),COLUMN((A1:INDEX(1:1,COUNTIF(1:1,"<>")-1))))-1)

,Where data is in Row 1

For Column Wise Data:

Code:
=MAX(SMALL(IF((A1:INDEX(A:A,LOOKUP(2,1/(A:A<>""),ROW(A:A))))<>"",ROW((A1:INDEX(A:A,LOOKUP(2,1/(A:A<>""),ROW(A:A)))))),ROW((A1:INDEX(A:A,COUNTIF(A:A,"<>")-1)))+1)-SMALL(IF((A1:INDEX(A:A,LOOKUP(2,1/(A:A<>""),ROW(A:A))))<>"",ROW((A1:INDEX(A:A,LOOKUP(2,1/(A:A<>""),ROW(A:A)))))),ROW((A1:INDEX(A:A,COUNTIF(A:A,"<>")-1))))-1)

,Where data is in Column A
 
Upvote 0
Can you please elaborate on what exactly you want and where you want the results.

Please share sample results as well along with the sample data.
 
Upvote 0
Is this what you want:


Book1
ABCDEFGHIJK
1November 02, 2015November 03, 2015November 04, 2015November 05, 2015November 06, 2015November 08, 2015November 11, 2015November 12, 2015November 13, 2015November 14, 2015Max gaps
2142563523
30
426254
50
6651563363
70
8150
90
100
110
1230105150
137.52.51.5113
14990
153.5143.50
Sheet5
Cell Formulas
RangeFormula
K2{=IF(COUNTIF(A2:J2,"<>")<2,0,MAX(SMALL(IF((A2:INDEX(A2:J2,LOOKUP(2,1/(A2:J2<>""),COLUMN(A2:J2))))<>"",COLUMN((A2:INDEX(A2:J2,LOOKUP(2,1/(A2:J2<>""),COLUMN(A2:J2)))))),COLUMN((A2:INDEX(A2:J2,COUNTIF(A2:J2,"<>")-1)))+1)-SMALL(IF((A2:INDEX(A2:J2,LOOKUP(2,1/(A2:J2<>""),COLUMN(A2:J2))))<>"",COLUMN((A2:INDEX(A2:J2,LOOKUP(2,1/(A2:J2<>""),COLUMN(A2:J2)))))),COLUMN((A2:INDEX(A2:J2,COUNTIF(A2:J2,"<>")-1)))))-1)}
Press CTRL+SHIFT+ENTER to enter array formulas.
 
Upvote 0
Thanks

Is this what you want:

ABCDEFGHIJK
1November 02, 2015November 03, 2015November 04, 2015November 05, 2015November 06, 2015November 08, 2015November 11, 2015November 12, 2015November 13, 2015November 14, 2015Max gaps
2142563523
30
426254
50
6651563363
70
8150
90
100
110
1230105150
137.52.51.5113
14990
153.5143.50

<colgroup><col style="width: 25pxpx"><col><col><col><col><col><col><col><col><col><col><col></colgroup><thead>
</thead><tbody>
</tbody>
Sheet5

Array Formulas
CellFormula
K2{=IF(COUNTIF(A2:J2,"<>")<2,0,MAX(SMALL(IF((A2:INDEX(A2:J2,LOOKUP(2,1/(A2:J2<>""),COLUMN(A2:J2))))<>"",COLUMN((A2:INDEX(A2:J2,LOOKUP(2,1/(A2:J2<>""),COLUMN(A2:J2)))))),COLUMN((A2:INDEX(A2:J2,COUNTIF(A2:J2,"<>")-1)))+1)-SMALL(IF((A2:INDEX(A2:J2,LOOKUP(2,1/(A2:J2<>""),COLUMN(A2:J2))))<>"",COLUMN((A2:INDEX(A2:J2,LOOKUP(2,1/(A2:J2<>""),COLUMN(A2:J2)))))),COLUMN((A2:INDEX(A2:J2,COUNTIF(A2:J2,"<>")-1)))))-1)}

<thead>
</thead><tbody>
</tbody>
Entered with Ctrl+Shift+Enter. If entered correctly, Excel will surround with curly braces {}.
Note: Do not try and enter the {} manually yourself

<tbody>
</tbody>
 
Upvote 0

Forum statistics

Threads
1,215,029
Messages
6,122,755
Members
449,094
Latest member
dsharae57

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top