I was noodling on this for a few minutes. You could set up one sheet with the data and validation calculations. Then another sheet is the data entry/query screen that does a named range lookup on the data set.
Then on the query screen, you have today's rank. The user enter's "X" years from today, this gets added to "today" and the data set is resorted, with those that are too old (time out with age > Y) having a manual count figure that forces them to the bottom of the sort.
Part of me thinks it would be easier to write a quick
VB program that does the lookup on an Excel spreadsheet. But the stubborn part of me thinks it can be done in Excel. Think about a giant set of nested IF statements...
Marc - it depends on how automated you want this. If you can do the sort yourself, then it does not look too hard. Or I've totally underestimated this...