I am trying to select a range of rows based on date values which are in one column, the dates are ascending but are repetitive and some dates may be missing. e.g.
11/Jun
11/Jun
11/Jun
12/Jun
12/Jun
14/Jun
14/Jun
14/Jun
14/Jun
15/Jun
15/Jun
16/Jun
16/Jun
16/Jun
17/Jun

What I want to do is specify a date range e.g 10/Jun to 13/Jun and find the starting row and ending row of the range containing all data related to these dates. (In my database sheet the adjacent columns to the dates contain production information)

Is there any way I can specifiy the date range as 10/Jun to 13/Jun and (given that these two dates are missing) then identify the 1st row as being the first date higher than 10/Jun and the last row as being the last occurrence of a date less than 13/Jun.

The idea is to be able to specify any period, then identify the range of rows containing all the values between the two dates as quckly as and then use arrays to to transfer the selected datarange from the 'database' sheet to a report sheet.

If I can get the range of rows I can quickly copy the data to an array and then write the array to the new range. I have tried all sorts of Match, Index/Match, Lookup type formulae to try and get the start and and rows based on the specified dates but as soon as one of the dates is missing this results in a formula error #N/A.

It is part of a report generating spreadsheet which gets production for each day during the production period and lists the production statistics, there are multiple entries per day when production is in progress but there may be missing dates due to no production. I have been able to achieve a workaround solution to the problem by reading each row of the data list one row at a time with a loop and then a conditional statement to select only those rows that containing dates falling between the given values and writing them to a new range of rows but this results in a very slow read/write operation.

The missing dates are giving me a real headache but cannot be avoided, once I can identify the extents of the data range I can use much faster arrays to transfer the data from the 'database' sheet to the report sheet.

Many thanks
Jon