My mistake, Giles. I didn't read your question fully.
What you want requires a test to know the numbers that are exactly xx.5.
One solution would be
=IF(A1-INT(A1)=0.5,A1,ROUND(A1,0))
Another one
=IF(INT(2*A1)=2*A1,A1,ROUND(A1,0))
Instead of these formulaic approaches, you could create a custom/user defined function in VBA.
HTH,
Fazza