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

16

Quero inserir dados de tempo na planilha do Excel no formato mm: ss. O problema é que, embora o formato da célula seja mm: ss, se eu inserir os dados assim:

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

Existe uma maneira de fazer com que a célula aceite 12:33 como mm: ss?

Dani
fonte
2
Para exibir minutos maiores que 59, formate a célula como [MM]:SS. Como: 02:10:45seria exibido como 130:45alternativa. Mas, aparentemente, isso não funciona para entradas.
Arjan

Respostas:

6

A hora é inserida universalmente no formato Horas: Minutos: Segundos, portanto você não pode alterar esse formato de entrada. Obviamente, você pode alterar o formato de exibição, mas infelizmente precisará respeitar o formato de entrada.

Steve
fonte
parece que não há solução para o meu problema, pois nem usar scripts ajudará, pois a formatação mascara o que o usuário realmente digita.
Dani
Então, é o formato universal hh:mm:ssou h:mm:ss? @Steve
Shayan
Eu diria que é h:mm:ss@Shayan
Steve
14

Conforme respondido por Steve , o Excel interpreta a entrada do usuário 12:33como 12h33m. Você não pode alterar esse comportamento de como o Excel aceita entrada do usuário.

Como você mencionou no comentário, os usuários 12:33digitariam, mas significariam 12m33s.

Aqui está uma solução alternativa para obter o valor correto para o cálculo.

  1. Formate a célula A1 (entrada do usuário, por exemplo 12:33) como[h]:mm
  2. Digite a fórmula =A1/60na célula B1
  3. Formate a célula B1 como [m]:ss

O valor exibido deve ser o mesmo em A1 e B1. No entanto, B1 será o valor real desejado .

Wilson
fonte
2
Agradável. Ou: formate a entrada como um valor de string / texto e use algo parecido TIMEVALUEpara convertê-lo .
Arjan
1
Os valores exibidos em A1 e B1 não são os mesmos se mm> 23
Alaa M.
1
@AlaaM. obrigado pela sua descoberta. a resposta é atualizada para corrigir o problema. use [h]e[m]
wilson
3

Existe uma solução! Coloque esse código VBA no seu módulo de planilha, ou seja:

  1. Abra o Editor do Visual Basic ( Alt- F11)
  2. Na parte superior esquerda da árvore, clique duas vezes na planilha em que deseja inserir seus horários
  3. No painel central de códigos, 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 você já tenha formatado o intervalo em que está inserindo os dados, use esta linha como a primeira linha:

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

Observe que isso alterará o valor e o formato - toda vez que você digitar uma hora - ou algo entre 0 e 1! Se você deseja restringi-lo a uma determinada coluna, adicione esta linha:

If Target.Column <> 3 Then Exit Sub

ou esta linha para restringi-lo a um determinado intervalo

If Intersect(Target, Range("A2:A100") Is Nothing Then Exit Sub
Peter Albert
fonte
2

A maneira mais fácil de trabalhar horas concluídas

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

Insira todos os dados na célula (C1) da seguinte maneira: =(A1+B1)/60

Don_T
fonte
1

Destaque a (s) célula (s) / coluna que deseja como Duração, clique com o botão direito do mouse em "Formatar Células". Vá para "Personalizado" e procure por "h: mm" se quiser inserir a duração no formato de hora e minutos. Se você quiser incluir segundos também, clique em "h: mm: ss". Você pode até adicionar a duração total depois disso.

Espero que isto ajude.


fonte
1

Acho melhor inserir os minutos na coluna A e os segundos na coluna B. Então você pode Soma as colunas. Tudo no formato de número normal.

Em seguida, converta segundos> 60 para minutos, dividindo a soma na coluna B por 60 e adicione INT à soma da coluna A e deixe o MOD restante na coluna B.

Como alternativa, você pode ter col C como número decimal ao ter uma fórmula = (A1+(B1/60))que fornecerá minutos decimais. Na parte inferior da Col C, faça uma soma e aplique uma fórmula para converter a parte decimal de volta em segundos, da seguinte forma, digamos que C22é onde a soma é mantida e C23insira a fórmula =MOD(C22,1)*60.

Agora, A23insira a fórmula =INT(C22)para mostrar o total de minutos, incluindo os da soma em C22.

MartinCC
fonte
1

Eu tive o mesmo problema e aqui está a solução que encontrei: Digite a fórmula usando a TIMEfunção, que cria uma matriz de tempo =TIME(H,M,S)e formate-a como desejar. Você ainda precisa inserir 0 horas todas as vezes porque matemática, mas isso torna a coisa toda infinitamente mais viável.

Alex Madjarov
fonte
0

Solução acima. Ao usar o h:mmformato, o Excel não permitirá que você ultrapasse 23. Adicione colchetes às horas em seu formato [h]:mme você pode ficar acima de 23.

Para calcular o valor em segundos, defina a célula para o formato numérico "geral" e digite a seguinte fórmula

=HOUR(A1)*60+MINUTE(A1)
yakshi one
fonte