here's another option.
doesn't use an array and your cycle end dates must be sorted descending

Xl0000068.xls