Mostra decimais apenas se a célula tiver ao mostrar texto personalizado no Excel

0

Eu tenho uma linha de células com valores numéricos. Eu gostaria de produzir o seguinte efeito:

---------------------------
|Cell value | Cell result |
---------------------------
|2          | 2 kg        |
|1.43       | 1.43 kg     |
|9.5764     | 9.58 kg     |
|3.2        | 3.2 kg      |
---------------------------

Basicamente,

  • Eu quero que eles sempre mostrem "kg" depois do valor inserido.
  • Qualquer valor decimal inserido precisa ser arredondado para até duas casas decimais; se não houver casas decimais, vai mostrar o número inteiro.

Eu já formatei as células para 0" kg" para mostrar sempre os quilogramas.

Quanto a mostrar apenas decimais, se necessário, usei a fórmula =ROUND(X, 2) em cada célula para mostrar apenas dois decimais (sendo X o valor que introduzo).

Pergunta: No entanto, quando digito =ROUND(2.5, 2) , ele exibe 3 kg em vez de 2.5 kg . Porque é isso? Você tem outras soluções possíveis?

Editar 1

Eu alterei a formatação da célula para 0.##" kg" e ela funciona exatamente como eu quero. Agora, o problema é que se eu usar =ROUND(10, 2) , ele exibe 10. kg com esse ponto adicional logo após o número.

    
por alejnavab 26.09.2016 / 01:31

2 respostas

1

Com os números na coluna A, use a função Round () na coluna B e, em seguida, formate com o formato personalizado "General k \ g". Veja a captura de tela

    
por 26.09.2016 / 10:41
2

Uma possível solução com base no que entendi sua exigência. Use a função FIXED para arredondá-la para 2 casas decimais e verificar os últimos três dígitos, se 0,00 usar apenas a parte inteira e concatenar com 'kg' se o último dígito for zero arredondado para apenas 1 decimal a mais de dois decimais.

Supondo que seus dados estão na coluna B, tente esta fórmula na coluna C

=IF(RIGHT(FIXED(B1,2),3)=".00",CONCATENATE(INT(B1)," kg"),IF(RIGHT(FIXED(B1,2),1)="0",CONCATENATE(FIXED(B1,1)," kg"),CONCATENATE(FIXED(B1,2)," kg")))

    
por 26.09.2016 / 06:25