A couple of small points.
1. If Nick's original formula was written as I guess he was intending
(since there is no nesting in what he wrote) it might beome:
=IF(C5<=1,0,IF(C5<=6,6,IF(C5<=11.75,11.75,IF(C5<=23.25,23.25,IF(C5<=29,29,IF(C5<\
=35,35,IF(C5<=40.75,40.75)))))))
(he seems to have missed out the 17.5). Entering 22 into C5 results in
23.25. Fine. Entering 23.25 in C5 also returns 23.25. Assuming he
intends this, then to get the same result with AJ's formula it should
lose the = sign from the middle (I know this goes against the textual
description of what Nick said he wants).
2. To cope with values in any order, another small (oh dear..) tweak
to AJ's formula might be:
=SMALL(D1:D44,COUNTIF(D1:D44,"<" & VALUE(C5))+1)