Another solution using the SumIf & Offset functions.
By Chart; I am guessing you actually mean a 'list' or 'column' of continuous
vertical cells; I'll call it the 'LookUpList'. I placed this LookUpList in cell
range D1 to D44. The LookUpList appears to be in ascending order even though
they are random 'floating' & 'integer' values. This is good! Now I can ask; How
many numbers in the LookUpList are 'less than' or 'equal to' the value of
interest (In your case C5); which I will call the 'SearchCount'.
With that I have the following expression:
SearchCount=COUNTIF(D1:D44,"<=" & VALUE(C5))
SearchCount +1 will be the next value in the list that you are really attempting
to acquire; I'll call this 'TheNumberYouWant' !
Now the Offset function:
TheNumberYouWant=OFFSET(TopCell of the LookUpList , SearchCount , 0)
If you want this value to reside in cell C6, the function translates to:
C6=OFFSET(D1,COUNTIF(D1:D44,"<=" & VALUE(C5)) ,0)