It is easy enough to round (nearest, up or down) to a specified number of decimal places, but what if you want to round to the nearest half? This is not something "standard" in functions provided, so a combination of other things are required.
Firstly, the code
With(
{
wVal: YourValue,
wInt:
RoundDown(
YourValue,
0
)
},
wInt +
Round(
Mod(
wVal,
wInt
) / 5,
1
) * 5
)
To explain how it works