Converter texto do Excel para Time

0

Estou tentando exportar de um sistema antigo que armazena Hora em / Tempo esgotado como uma cadeia de texto em 24 horas.

Por exemplo, 3pm, é inserido como 1500 (sem cólon)

Existe uma maneira simples de converter esses valores para 12 horas com AM / PM?

Eu tenho mais de 3000 inscrições - e estou quase no ponto de editar manualmente, então por favor qualquer sugestão é apreciada.

    
por Charlls 06.10.2009 / 22:24

6 respostas

3

Supondo que o valor esteja na célula A1, use esta fórmula:

=TIMEVALUE(LEFT(A1,LEN(A1)-2)&":"&RIGHT(A1,2))

O que está acontecendo é que o valor assumido é de 1 ou 2 dígitos para a hora e sempre 2 dígitos para o minuto. Por exemplo, 1500 = 3:00 PM, 900 = 9:00 AM. Você pode precisar formatar a célula como uma hora em vez de um número.

Se você tiver valores anteriores a 1:00 e seus dados não tiverem zeros à esquerda, convém usar esta fórmula mais complexa:

=TIMEVALUE(IF(LEN(A1)>2,LEFT(A1,LEN(A1)-2),"0")&":"&RIGHT(A1,2))

    
por 06.10.2009 / 22:42
2

No Excel 2003, essas fórmulas funcionaram bem até atingir um horário sem dígito de hora (a primeira hora depois da meia-noite) e produziram um erro #VALUE! . Eu adicionei uma instrução IF para lidar com a primeira hora em que havia apenas minutos numerados de um ou de dois dígitos: -

=TIMEVALUE(IF(LEN(A1)<=2,"0:"&RIGHT(A1,2),(LEFT(A1,LEN(A1)-2)&":"&RIGHT(A1,2))))

    
por 06.09.2010 / 19:08
1

Esta fórmula modificada de Dave e Tracy produzirá a string de texto desejada e não exigirá que você formate a célula:

=TEXT(LEFT(A1,LEN(A1)-2) &":"& RIGHT(A1,2), "h:mm AM/PM")

Se você quiser apenas horas, altere o h: mm para h.

    
por 06.10.2009 / 23:03
1

Se você tiver o Tempo de maneira numérica (900 - > 9:00) ou (0900 - > 9:00) [sem os dois pontos]

Existe uma maneira muito mais simples de convertê-lo para um formato de hora, apenas separar os minutos do formulário de horas:

  • Use a função INT(YourCell/100) como a parte da hora
  • Use a função MOD(YourCell;100) como a parte do Minuto
  • Use o valor 0 como a segunda parte

Em seguida, use a função TIME para convertê-la em tipo de hora, para que todas as combinações sejam semelhantes:

  • =TIME(INT(YourCell/100);MOD(YourCell;100);0)

Agora, você só precisa fornecer o formato de hora desejado (13h30 na lista de horários).

O truque é que se você dividir por cem e pegar a parte inteira você perderá a parte minuciosa, então você terá as "Horas", por outra parte se pegar o módulo de dividir por cem você terá a parte do minuto perdendo a parte da hora ... então você só precisa combiná-las.

    
por 11.02.2013 / 11:27
1

A resposta é muito mais simples. Eu tive o mesmo problema.

Use o formato personalizado 00\:00 na célula de entrada.

Para transformar essa célula em um tempo real para usar em cálculos, use =TIME(TRUNC(A1/100),MOD(A1,100),0)

Funciona perfeitamente para mim ;)

fonte: link

    
por 02.12.2013 / 18:15
0

Não sabe exatamente como seus valores são armazenados em suas células, ou seja, eles são citados em dobro? prefixado com uma aspa simples? Isso vai importar por causa de como o 0 líder é tratado.

Você pode tentar:

=TEXT(LEFT(A1,2) &":"& RIGHT(A1,2), "hh:mm AM/PM")

Minha expectativa é que isso funcione para a maioria das entradas (entradas matinais podem ser um problema.

    
por 06.10.2009 / 22:53