Formateo de una celda para mostrar solo los minutos parte del tiempo

1

Tengo una celda con algún valor de tiempo, por ej. 12:30. Me gustaría que se muestre como 30.

Solo quiero trabajar con formatos (es decir, la "representación"). Así que no hay VBA, no hay transformaciones extra.

Intenté utilizar el formato. mm, pero Excel está pensando que quiero los meses. Usando el formato mm:ss resultados en 30:00.

Así que, de hecho, mm significa tanto "meses" como "minutos".

¿Algunas ideas?

PD: Mi Excel está en inglés, pero los formatos están en francés ("months" = "mois" en francés = & gt; mm también; "minutes" = "minutes" en francés = & gt; mm además.)

lvr123
fuente
Aparentemente, lo que está solicitando parece no ser posible ya que un hh parte es necesaria (liderando el mm ) para que Excel muestre los minutos en lugar de los meses y, por lo tanto, anule el propósito original previsto. Sin embargo, la función MINUTE utilizado en la celda de tiempo, puede ser útil cuando necesite el resultado. Pero eso implica " transformación extra ", Me temo que.
DroidW
¿La célula contiene una constante o un fórmula ??
Gary's Student
Sí, contiene una fórmula. Pero el resultado debe seguir siendo un tiempo válido. Mientras tanto, he agregado una fila adicional con una fórmula para extraer los minutos. Pero esto no es bueno.
lvr123

Respuestas:

1

Para ser honesto, es probable que sea más fácil de usar =MINUTE(). Si no desea las horas y los segundos, siempre puede copiar la información de los minutos y pegarla como texto, luego eliminar la columna de tiempo completo.

Puedes convertir el tiempo de 24 horas en minutos usando el [m] Formato, pero luego tendrá que restar la hora, por ejemplo,

13:45 --> 825 minutes --> 825 - (13*60) = 45 minutes
scc268
fuente
0

Aquí hay una muestra. (para celular D1 ) .

Decir D1 tiene una fórmula que muestra el tiempo:

enter image description here

Y solo queremos mostrar los minutos. Coloque la siguiente macro de evento en el área de código de la hoja de trabajo:

Private Sub Worksheet_Calculate()
    With Range("D1")
        v = Minute(.Value)
        f = .NumberFormat
        If InStr(.NumberFormat, ";;;") > 0 Then
            ActiveWorkbook.DeleteNumberFormat NumberFormat:=f
        End If
        .NumberFormat = Chr(34) & v & Chr(34) & ";;;"
    End With
End Sub

enter image description here

Cada vez que se calcula la hoja de trabajo, la macro ajusta el formato de D1 para reflejar sólo los minutos. (El código también elimina los formatos de números personalizados anteriores para evitar que el formato fluya)

Debido a que es un código de hoja de trabajo, es muy fácil instalar y automático de usar:

  1. haga clic derecho en el nombre de la pestaña cerca de la parte inferior de la ventana de Excel
  2. seleccione Ver código - esto abre una ventana VBE
  3. pega las cosas y cierra la ventana VBE

Si tiene alguna duda, primero inténtelo en una hoja de trabajo de prueba.

Si guarda el libro de trabajo, la macro se guardará con él. Si está utilizando una versión de Excel más tarde de 2003, debe guardar el archivo como .xlsm en lugar de .xlsx

A retirar la macro:

  1. abrir las ventanas VBE como arriba
  2. Borrar el código
  3. cerrar la ventana VBE

Para obtener más información sobre las macros en general, consulte:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

y

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

Para obtener más información sobre las macros de eventos (código de la hoja de trabajo), consulte:

http://www.mvps.org/dmcritchie/excel/event.htm

¡Las macros deben estar habilitadas para que esto funcione!

Gary's Student
fuente
1
Buen código. Aunque no funciona al 100%. Y no es flexible. Cada vez que quieras agregar el formato a una celda, ¡tienes que adaptar el código VBE o complicarte!
lvr123
Microsoft ha implementado el formato de número contextual. El mismo método abreviado de formato significa diferentes cosas según el contexto. La primera vez que lo veo en un lenguaje de programación.
lvr123
@ lvr123 El enfoque habitual es utilizar dos celdas y una fórmula.
Gary's Student
0

Compruebe su configuración de Windows. Es posible que tenga un formato de fecha personalizado que impida el formato correcto en Excel.

  1. Abra el panel de control.
  2. Haga clic en el enlace Reloj, idioma y región.
  3. Haga clic en el enlace Cambiar formato de fecha, hora o números.
  4. En la pestaña Formatos, haga clic en el botón Configuración adicional.
  5. Haga clic en la pestaña Tiempo.
    En "Formatos de hora", notará que ahora puede cambiar varios aspectos del formato de hora. Compruebe si tiene algún formato de tiempo especial definido allí.
  6. Haga clic en la pestaña Fecha.
    En "Formatos de fecha", notará que hay más flexibilidad para cambiar el formato de fecha. Compruebe si tiene algún formato de fecha especial definido allí.
  7. Restablecer para restaurar la configuración predeterminada del sistema (botón en la parte inferior)

Básicamente debería funcionar como lo has definido. En mi sistema (idioma alemán) se formatea en minutos correctamente.

+------------------+------------------+
|      on screen   |  Custom format   |
+------------------+------------------+
| 43278.58194      | Standard         |
| 27.06.2018       | TT.MM.JJJJ       |
| 27.06.2018 13:58 | TT.MM.JJJJ hh:mm |
| 58:00            | mm:ss            |
| 58               | mm               |
+------------------+------------------+
visu-l
fuente