On what basis are you deciding which 0.00 has ended up where in the sorted list? For example is:
any less correct than the end game in your example? Or, are there more decimal places just hidden?
If the 'Amount' is unique to a 'Rate' value you could try using:
=INDEX([origional 'Amount' range],MATCH([new corresponding 'Rate' value],[origional rate range],0),1)