Pad números para o comprimento específico no Google Spreadsheet [closed]

21

Eu tenho uma coluna com números inteiros como este: 1, 2, 3, 4, 5 e eu quero criar outra coluna com esses valores preenchidos para um comprimento de três assim: 001, 002, 003, 004, 005 .

É possível preencher uma string no Google Spreadsheet?

Eu não estava conseguindo encontrar uma função padrão para isso.

    
por Slava Fomin II 18.09.2014 / 15:11

3 respostas

36

A maneira recomendada é usar a função TEXT () .

Resumo rápido sobre como você pode usá-lo no seu caso:

=TEXT(5,"000")

A saída seria:

005

É claro que você substituiria o literal 5 por uma referência a outra célula em que o número de origem é.

    
por 27.05.2015 / 03:07
10

Se você quiser apenas alterações de exibição, poderá aplicar o formato numérico personalizado "000" às células.

Selecione as células, clique em Formatar > Número > Mais formatos > Formato numérico personalizado ... .

De ajuda dos Editores do Documentos :

A digit in the number. An insignificant 0 will appear in the results.

    
por 09.05.2016 / 14:37
2

Solução temporária

Aqui está a solução temporária que eu criei.

Fórmula de trabalho

Use apenas esta fórmula:

'=IF(LEN(A2)<3, CONCATENATE(REPT("0", 3-LEN(A2)), A2), A2)'

Substitua 3 pelo comprimento do preenchimento e 0 pelo caractere de preenchimento. A2 é uma fonte de preenchimento.

Explicação

Considere a seguinte planilha:

-------------
| A   |  B  |
-------------
| 1   | 001 |
-------------
| 2   | 002 |
-------------
| 31  | 031 |
-------------
| 45  | 045 |
-------------
| 500 | 500 |
-------------

Temos a coluna inicial (A) com números inteiros que queremos preencher. A coluna (B) conterá a fórmula especial para processar os dados.

Concatenar!

Antes de mais nada, precisamos de uma maneira de concatenar o valor da coluna A com a string de preenchimento. Podemos fazer isso com a função CONCATENATE :

=CONCATENATE("00", A2)

Repetir!

Neste momento, o caractere de preenchimento 0 é repetido duas vezes em nossa fórmula. Isto não é bom. Podemos usar a função REPT para repetir nosso caractere de preenchimento várias vezes, como:

=REPT("0", 2)

Esta fórmula repetirá 0 duas vezes. Vamos combiná-los:

=CONCATENATE(REPT("0", 2), A2)

Calcular o comprimento!

Isso é melhor. Mas o tamanho do preenchimento tem um valor constante em nossa fórmula e não vai funcionar com números maiores que 9. Podemos corrigir isso calculando o comprimento da string acolchoada (usando LEN function) e subtrai-o do tamanho de nossa segmentação:

=3-LEN(A2)

Vamos adicioná-lo à nossa fórmula:

=CONCATENATE(REPT("0", 3-LEN(A2)), A2)

No entanto, obteremos resultados negativos para valores maiores que 999 e isso quebrará a função REPT (número de repetições não pode ser negativo).

Podemos corrigi-lo facilmente adicionando uma condição:

=IF(LEN(A2)<3, "APPLY REPT", "OUTPUT AS IS")

Vamos colocar os pedaços finais juntos:

=IF(LEN(A2)<3, CONCATENATE(REPT("0", 3-LEN(A2)), A2), A2)
    
por 18.09.2014 / 15:45