Parece que a intenção é alterar alguns números em uma célula, de modo que 5 seja substituído por 0, 4 > 2, 3 > 3, 2 > 4 e 1 > 5.
Problema é que é feito em etapas únicas , então, depois que os 4s são alterados para 2s, você altera mais tarde todos os 2s (incluindo os que eram 4s) para 4s.
Exemplo:
12345 //lets look at each step...
12340 // 5 -> 0
12320 // 4 -> 2
12320 // 3 -> 3 : why is this step used?
14340 // 2 -> 4 : changes the 4 that was changed above back again
54340 // 1 -> 5
54320 // expected result?
Se você quiser continuar com este método, você precisa mudar os 4s para algo irrelevante (digamos "X") e então ( após mudar os 2s) mudar os Xs para 2s.