Como classificar em hh: mm: ss (duração) no Excel

1

Eu tenho uma coluna de dados que representa a duração, por exemplo 33:15 - 30 minutos e 15 segundos; 1:05:00 - 1 hora e 5 minutos, etc.

Se eu tentar classificá-lo como A-Z, 1 hora será classificada antes de 30 minutos.

Existe uma maneira de formatar os dados para classificá-los corretamente? É preferível a solução de formatação para converter esses dados em segundos ou outros enfeites.

    
por Meringros 29.07.2011 / 18:48

3 respostas

3

Bem-vindo ao maravilhoso mundo dos tempos no Excel. Intrigante no começo, mas poderoso quando você sabe como eles funcionam.

Eu não acho que haja uma maneira de fazer isso apenas com a formatação em sua situação. No entanto, isso deve funcionar (suponho que todos os seus horários estejam na Coluna A)

-Create this formula in B1 and copy it all the way down:
=IF(A1>=1,A1/60,A1)
-Format Column B as h:mm:ss
-Select Column B and Copy, then Paste Special, Values.
-Sorting Column B should now work fine.

Essa é a resposta curta. Se você quiser entender o que está acontecendo e como essa fórmula foi derivada, continue lendo:

1.

  -Start a new sheet.
    -In A1, type 1:05:00
    -Click on A1, then Format, Cells. Note it has applied a custom format of h:mm:ss

O Excel é bastante inteligente e esse número não é ambíguo, por isso pressupõe que você quer dizer horas: minutos: segundos e formatos de acordo.

2.

-In A2, type 33:15
-Note how it automagically changed it to 33:15:00
-Click on A2, then Format, Cells. Note a custom format of [h]:mm:ss

Isso é ambíguo. Você quis dizer "33 minutos e 15 segundos" ou "33 horas e 15 minutos"? O Excel não tem certeza. Seu comportamento é assumir que você quer dizer horas e minutos. O [] em torno do h significa basicamente "mostrar mais de 24 horas na seção de horas".

3.

-In A3, type 0:33:15 (note the 0: before)
-Click on A3, then Format, Cells. Note a custom format of h:mm:ss

Como você eliminou a ambigüidade, mais uma vez assume que você quer dizer horas: minutos: segundos novamente e formatos correspondentes.

4.

-In A4, type 23:15
-Note how it leaves it as 23:15
-Click on A4, then Format, Cells. Note a custom format of h:mm

W..T..F? Como é formatado de forma diferente do que no nº 2? Porque você digitou um número menor que 24 (ou seja, horas) - ainda é ambíguo, e ainda assume que você quis dizer horas e minutos ... mas formata diferentemente.

5.

-In A5, type 1:00:00
-Click on A5, then Format, Cells. Note a custom format of h:mm:ss
-Change the format to General and note that the underlying number is .041667 (i.e. the percentage of a day)

6.

    -In A6, type 24:00:00
    -Click on A6, then Format, Cells. Note a custom format of [h]:mm:ss
    -Change the format to General and note that the underlying number is 1 (i.e. a full day)

Quase lá ...

7.

-Now click on B2 and enter this formula:
=A2/60 (i.e. convert from hours to minutes)
-Click on B2, then Format, Cells. Note a custom format of [h]:mm:ss
-Note that it now shows 0:33:15, which is what you want

8.

-Now click on B1 and enter the same formula:
=A1/60 (i.e. convert from hours to minutes)
-Click on B1, then Format, Cells. Note a custom format of h:mm:ss
-Note that it shows 0:01:05 - damn - that's *not* what you want.

Fique no alvo ...

9.

-Click on B1 again and enter this formula instead:
=IF(A1>=1,A1/60,A1)
-Click on B1, then Format, Cells. Enter a custom format of h:mm:ss
-Note that it still shows 1:05:00 (i.e. it didn't change it to 0:01:05)

Então, basicamente, essa fórmula:

-Checks to see if the number in a cell is greater than or equal to 1
-If it is greater than 1, divide by 60 (i.e. convert hours to minutes)
-If it's less than 1, leave it alone.
    
por 30.07.2011 / 01:01
3

Se seus valores forem interpretados pelo Excel como tempos reais, eles serão classificados numericamente, não alfabeticamente. Mas há problemas.

Se você inserir minutos e segundos como 30:00, o Excel interpretará como 30 horas e 0 minutos. Você tem que digitar 30 minutos como 0:30:00 ou 0:30. Portanto, 30 minutos inseridos assim serão interpretados como maiores que uma hora e trinta minutos inseridos como 1:30. Você deve sempre verificar a barra de fórmulas depois de inserir números para garantir que o Excel registre o valor que você deseja inserir.

CompWiz perdeu esta complexidade, e as rotinas de Craig apenas corrigem seus problemas específicos. Mas sabendo que você tem que inserir tempos como h: mm: ss, mesmo que o valor seja menor que uma hora, seus valores sempre serão interpretados corretamente.

    
por 05.08.2011 / 17:44
2

Em suma ... vezes ... como no número de horas / minutos / segundos é realmente classificado como dados de caracteres. 1 é menor que 30 e 1h é menor que 30m porque 1 é menor que 3. Você precisa armazenar seus dados como todos os segundos ... ou seja, 30 minutos são inseridos como 1800 e 1 hora como 3600 e usar alguns dados complexos. formatação para exibi-las como hora / minuto / segundos ... ou insira os dados como 00:30:00 e 01:00:00 respectivamente.

o primeiro é o método adequado mas muito complexo de implementar ... o segundo é muito mais simples e sempre funcionará porque 00: vem antes de 01: todas as vezes.

    
por 29.07.2011 / 19:10