2011-01-20 08:54:31 +0000 2011-01-20 08:54:31 +0000
17
17
Advertisement

Entrada de dados de tempo em excel no formato mm:ss (sem o 0 inicial: para as horas)

Advertisement

Quero introduzir dados de tempo em folha excel em formato mm:ss. O problema é - que embora o formato da célula seja mm:ss, se eu introduzir os dados desta forma:

12:33 o valor real armazenado é de 12 horas e 33 min. se eu quiser 12 min e 33 seg., preciso de introduzir 0:12:33

Existe alguma forma de fazer a célula aceitar 12:33 como mm:ss?

Advertisement
Advertisement

Respostas (7)

14
14
14
2011-01-21 03:40:40 +0000

Como respondido por Steve , o Excel interpreta a entrada do utilizador 12:33 como 12h33m. Não se pode alterar este comportamento de como o Excel aceita a entrada do utilizador.

Como mencionou no comentário, os utilizadores introduziriam 12:33 mas significando 12m33s.

Aqui está uma solução workaround para obter o valor correcto para o cálculo.

  1. formatar a célula A1 (entrada do utilizador, ex. 12:33) como [h]:mm
  2. Introduzir a fórmula =A1/60 na célula B1
  3. Formatar a célula B1 como [m]:ss

O valor apresentado deve ser o mesmo em A1 & B1. Contudo, B1 será o valor real pretendido*.

7
7
7
2011-01-20 08:58:24 +0000

O tempo é universalmente introduzido no formato Horas:Minutos:Segundos, pelo que não se pode alterar este formato de entrada. Pode obviamente alterar o formato de visualização, mas infelizmente terá de respeitar o formato de entrada.

3
Advertisement
3
3
2013-03-05 12:01:12 +0000
Advertisement

Há uma solução! Coloque este código VBA no seu módulo de folha de trabalho, ou seja:

  1. Abra o Editor Visual Basic (Alt-F11)
  2. No canto superior esquerdo da vista em árvore, faça duplo clique na folha que pretende introduzir os seus tempos
  3. No painel de código central, coloque o código abaixo.
  4. Fechar VBE

Use este código:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Value < 0 Or Target.Value > 1 And Target.NumberFormat <> "h:mm" Then Exit Sub
    Application.EnableEvents = False
    Target.Value = Target.Value / 60
    Target.NumberFormat = "mm:ss"
    Application.EnableEvents = True
End Sub

Caso já tenha formatado o intervalo em que está a introduzir os dados, utilize esta linha como primeira linha:

If Target.Value < 0 Or Target.Value > 1 Then Exit Sub

Note que isto irá alterar o valor e o formato - sempre que introduzir uma hora - ou algo que esteja entre 0 e 1! Se quiser restringir a uma determinada coluna, adicione esta linha:

If Target.Column <> 3 Then Exit Sub

ou esta linha para restringir a um determinado intervalo

If Intersect(Target, Range("A2:A100") Is Nothing Then Exit Sub
2
2
2
2013-09-13 13:09:04 +0000

Forma mais fácil de trabalhar as horas completadas

Formatar a Célula (A1) hh:mm

Entrada como normal (07:22)

Formatar a Célula (B1) hh:mm

Entrada como normal (16:00)

Formatar a Célula (C1) h:mm

Entrada de todos os dados na Célula (C1) o seguinte =(A1+B1)/60

1
Advertisement
1
1
2017-03-26 06:37:27 +0000
Advertisement

Acho melhor introduzir os minutos na coluna A e depois os segundos na coluna B. Depois pode somar as colunas. Tudo no formato normal de números.

Próximo converter segundos > 60 para minutos dividindo a soma no col B por 60 e adicionar a INT ao Col A Sum e deixar o MOD restante no col B.

Em alternativa, pode ter o col C como número decimal tendo uma fórmula = (A1+(B1/60)) dará minutos decimais. No fundo do Col C faça uma soma e depois aplique uma fórmula para converter a parte decimal de volta para Segundos como se segue, digamos C22 é onde a soma é mantida depois em C23 introduza a fórmula =MOD(C22,1)*60.

agora em A23 introduza a fórmula =INT(C22) para mostrar o Total de minutos incluindo os da soma em C22.

1
1
1
2017-11-28 06:30:48 +0000

Tive o mesmo problema e aqui está a solução que encontrei: Introduza a fórmula usando a função TIME, que cria uma matriz de tempo como =TIME(H,M,S) e formate-a como quiser. Ainda tem de introduzir 0 horas de cada vez porque a matemática, mas isto torna tudo infinitamente mais funcional.

0
Advertisement
0
0
2014-03-10 20:34:42 +0000
Advertisement

Solução para cima. Ao utilizar o formato h:mm, a excel não o deixará ir acima de 23. Adicione parênteses às horas no seu formato [h]:mm e poderá ir acima de 23.

Para calcular o valor em segundos, defina a célula para o formato de número “geral” e depois digite a seguinte fórmula

=HOUR(A1)*60+MINUTE(A1)
Advertisement

Questões relacionadas

6
13
9
10
6
Advertisement