Introducción de datos de tiempo en Excel en formato mm: ss (sin el 0 inicial: para las horas)


16

Quiero ingresar datos de tiempo en la hoja de Excel en formato mm: ss. El problema es que, aunque el formato de celda es mm: ss, si ingreso los datos de esta manera:

12:33 el valor real almacenado es de 12 horas y 33 min. si quiero 12 minutos y 33 segundos, necesito ingresar 0:12:33

¿Hay alguna manera de hacer que la celda acepte 12:33 como mm: ss?


2
Para mostrar minutos más grandes que 59, formatee la celda como [MM]:SS. Me gusta: 02:10:45luego se mostraría como en su 130:45lugar. Pero aparentemente eso no funciona para las entradas.
Arjan

Respuestas:


6

El tiempo se ingresa universalmente en formato de horas: minutos: segundos, por lo que no puede cambiar este formato de entrada. Obviamente, puede cambiar el formato de visualización, pero desafortunadamente tendrá que cumplir con el formato de entrada.


parece que no hay solución a mi problema, ya que incluso el uso de scripts no ayudará, ya que el formato enmascara lo que el usuario realmente escribe.
Dani

Entonces, ¿es el formato universal hh:mm:sso h:mm:ss? @Steve
Shayan

Diría que es h:mm:ss@Shayan
Steve

14

Como respondió Steve , Excel interpreta la entrada del usuario 12:33como 12h33m. No puede cambiar este comportamiento de cómo Excel acepta la entrada del usuario.

Como mencionó en el comentario, los usuarios ingresarían 12:33pero significarían 12m33s.

Aquí hay una solución alternativa para obtener el valor correcto para el cálculo.

  1. Formatee la celda A1 (entrada del usuario, por ejemplo 12:33) como[h]:mm
  2. Ingrese la fórmula =A1/60en la celda B1
  3. Formatee la celda B1 como [m]:ss

El valor mostrado debe ser el mismo en A1 y B1. Sin embargo, B1 será el valor real que desea .


2
Agradable. O bien: formatee la entrada como un valor de cadena / texto y use algo como TIMEVALUEconvertirla .
Arjan

1
Los valores mostrados en A1 y B1 no son los mismos si mm> 23
Alaa M.

1
@AlaaM. gracias por tu hallazgo La respuesta se actualiza para solucionar el problema. use [h]y[m]
wilson

3

¡Hay una solucion! Coloque este código VBA en su módulo de hoja de trabajo, es decir:

  1. Abra el Editor de Visual Basic ( Alt- F11)
  2. En la vista de árbol superior izquierda, haga doble clic en la hoja que desea ingresar sus tiempos
  3. En el panel central de códigos, coloque el siguiente código.
  4. Cerrar VBE

Usa 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

En caso de que ya haya formateado el rango en el que está ingresando los datos, use esta línea como la primera línea:

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

Tenga en cuenta que esto cambiará el valor y el formato, cada vez que ingrese una hora, ¡o algo entre 0 y 1! Si desea restringirlo a una determinada columna, agregue esta línea:

If Target.Column <> 3 Then Exit Sub

o esta línea para restringirlo a un cierto rango

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

2

La forma más fácil de trabajar horas completadas

Formatear la celda (A1) hh:mm

Entrada como normal ( 07:22)

Formatear la celda (B1) hh:mm

Entrada como normal ( 16:00)

Formatear la celda (C1) h:mm

Ingrese todos los datos en la celda (C1) lo siguiente: =(A1+B1)/60


1

Resalte la (s) celda (s) / columna que desea como Duración, haga clic con el botón derecho del mouse en "Formatear celdas". Vaya a "Personalizado" y busque "h: mm" si desea ingresar la duración en formato de hora y minutos. Si también desea incluir segundos, haga clic en "h: mm: ss". Incluso puede sumar la duración total después de eso.

Espero que esto ayude.


1

Creo que es mejor ingresar los minutos en la columna A, luego los segundos en la columna B. Luego puedes Sumar las columnas. Todo como formato de número normal.

Luego convierta los segundos> 60 a minutos dividiendo la suma en la columna B por 60 y agregue el INT a la suma de la columna A y deje el MOD restante en la columna B.

Alternativamente, puede tener col C como número decimal al tener una fórmula = (A1+(B1/60))que dará minutos decimales. En la parte inferior de la columna C, haga una suma y luego aplique una fórmula para convertir la porción decimal a segundos de la siguiente manera, por ejemplo, C22es donde se mantiene la suma y luego C23ingrese la fórmula =MOD(C22,1)*60.

Ahora A23ingrese la fórmula =INT(C22)para mostrar el total de minutos, incluidos los de la suma C22.


1

He tenido el mismo problema y aquí está la solución que he encontrado: ingrese la fórmula usando la TIMEfunción, que crea una matriz de tiempo =TIME(H,M,S)y formatee como desee. Todavía tiene que ingresar 0 horas cada vez porque las matemáticas, pero esto hace que todo sea infinitamente más factible.


0

Solución a lo anterior. Cuando use el h:mmformato, Excel no le permitirá ir por encima de 23. Agregue paréntesis a las horas en su formato [h]:mmy podrá ir por encima de 23.

Para calcular el valor en segundos, configure la celda en formato de número "general" y luego escriba la siguiente fórmula

=HOUR(A1)*60+MINUTE(A1)
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.