Como arredondar um preço para acabar em ,99 ou ,x9
Como automatizar facilmente os arredondamentos de preços psicológicos para as terminações mais comuns: ",x9" e ",99"
Resumo
Se queremos calcular o preço de venda de um artigo, o habitual é que a base de partida seja o preço de custo e a margem de lucro que queremos atingir com a sua venda.Para isso, aplicamos um markup ao preço de custo e construímos um preço de venda que gera a margem desejada na venda. Mas esse preço pode não ter exactamente uma terminação muito "comercial".
É comum encontrarmos muitos preços de venda acabados em nove. São os chamados preços psicológicos e neste artigo vamos mostrar-te como podes facilmente automatizar os arredondamentos para as terminações que quiseres, tomando como exemplo as terminações mais comuns: ",x9" e ",99".
Arredondar para terminar em ,x9
Se queremos todos os preços com duas casas decimais e a terminar em 9. Aplicamos a Função ROUND ao valor que queremos arredondar com o argumento "1" para arredondar à primeira casa decimal. De seguida, subtraímos "-0,01" e chegamos ao preço pretendido terminado em 9 na segunda casa decimal.
=ROUND($C5;1)-0,01 // terminar em ,x9 com arredondamento
=ROUND(1,245;1)-0,01
=ROUND(1,20)-0,01
=1,20-0,01
=1,19
Nota que nesta fórmula não estamos a definir se o arredondamento é por excesso ou por defeito. Estamos apenas a dar indicação que deve ser aplicado um arredondamento seguindo as regras de arredondamento definidas pelo algarismo ">5" ou "<5", ou seja:44,24 passa para 44,2
22,87 passa para 22,9
Arredondar para terminar em ,99
Seguindo o mesmo modelo do exemplo anterior, se quisermos que todos os preços terminem em ",99", usamos a mesma fórmula e substituímos o argumento "1" por "0".
Esta substituição irá arredondar o valor de partida para o número inteiro mais próximo (por excesso ou por defeito) ao qual subtraímos "0,01" para encontrar o valor imediatamente anterior terminado em ",99".
=ROUND($C5;0)-0,01 // terminar em ,99 com arredondamento
=ROUND(1,245;0)-0,01
=ROUND(1)-0,01
=1-0,01
=0,99
Forçar arredondamento por excesso (para cima)
Se quisermos forçar o arredondamento por excesso, ou seja sempre para o número superior, basta apenas substituir a função ROUND pela função ROUNDUP.=ROUNDUP($C5;1)-0,01 // terminar em ,x9 com arredondamento para cima
=1,30-0,01
=1,29
=ROUNDUP($C5;0)-0,01 // terminar em ,99 com arredondamento para cima
=2-0,01
=1,99
Argumentos da função ROUND, ROUNDUP, ROUNDDOWN
Dígito | Resultado |
---|---|
0 | Arredonda para o número inteiro mais próximo |
>0 | Arredonda para o valor mais próximo .1, .01, .001, etc. |
<0 | Arredonda para o valor mais próximo 10, 100, 1000, etc. |
Valor | Arredondamento | Fórmula |
---|---|---|
1008,856712 | 1009 | =ROUND(E4;0) |
1008,856712 | 1008,9 | =ROUND(E6;1) |
1008,856712 | 1008,86 | =ROUND(E7;2) |
1008,856712 | 1008,857 | =ROUND(E8;3) |
1008,856712 | 1008,8567 | =ROUND(E9;4) |
4,9 | 0 | =ROUND(E11;-1) |
9,7 | 10 | =ROUND(E12;-1) |
98,3 | 100 | =ROUND(E13;-2) |
778,9 | 1000 | =ROUND(E14;-3) |
7654,1 | 10000 | =ROUND(E15;-4) |
Descargas
Descarrega aqui o ficheiro com os exemplos do artigo para arredondar preços para acabar em ,99 ou ,x9