Well I think this works, it seems to work for me!
=IFERROR(INDEX($F$16:$F$10000,SMALL(IF(($B$16:$B$10000>=I$2)*($B$16:$B$10000<=I$3)*($F$16:$F$10000<I$4),ROW($F$16:$F$10000)-ROW($F$15)),COUNT(IF(($B$16:$B$10000>=I$2)*($B$16:$B$10000<=I$3)*($F$16:$F$10000<I$4),ROW($F$16:$F$10000)-ROW($F$15))))),"")
entered with CTRL-SHFT-ENTER, (make sure it has curly braces around it)
It looks horrendouse, but:
The IFERROR simply puts a blank if no value is found - the inner code returns a #NUM error.
The inner code returns the row number of the value we want and INDEX($F$16:$F$10000 is the list from which we want the number.
This section: ($B$16:$B$10000>=I$2) * ($B$16:$B$10000<=I$3) * ($F$16:$F$10000<I$4) tests the dates against the earliest date, then the latest date, and then tests the values against your lower limit. If you've moved the upper date change I$3 as necessary.
The COUNT formula is used to find how many items have been returned as it is the last one in the list that we want. We could replace this whole section with 1 if the dates ran from oldest to newest down the page!
I'm indebted to
www.exceltip.com for the idea of how to do this: '
How to Find the nth Occurrence'
HTH