Excel: convierte días hh:mm:ss a minutos (incluidos los valores negativos)

Excel: convierte días hh:mm:ss a minutos (incluidos los valores negativos)

Datos dados en el siguiente formato (es decir, días horas:minutos:segundos):

-4 1:0:0.0

¿Cómo puedo convertir esto a minutos en Excel? (por ejemplo, 5820 minutos)

Actualmente envío mensajes de texto a columnas (columna de días; columna hh:mm:ss) y hago =([@Days]+[@Hours])*24*60; pero esto da un valor incorrecto cuando los días son negativos (por ejemplo, -5700).

¿Alguien tiene una fórmula elegante?

Respuesta1

Suponiendo que siempre habrá horas en los datos (incluso si son cero) y, por lo tanto, un espacio, pruebe esta fórmula para extraer los minutos de sus datos originales en A1.

=(LEFT(A1,FIND(" ",A1))+MID(A1,FIND(" ",A1)+1,20)*IF(LEFT(A1)="-",-1,1))*1440

Eso debería dar -5820 para su ejemplo: ¿es ese el resultado esperado o siempre desea un valor positivo?

Respuesta2

Envuelva la función abs alrededor de la referencia de la celda a los días. Por ejemplo, si el día se almacenó en A1, reemplace A1 con abs(A1). Esto devolverá automáticamente el número sin signo, por lo que los números negativos se devolverán como números positivos, lo que hará que la función funcione correctamente.

Haría esto por usted, pero no sé cómo está configurada su hoja de cálculo y qué formato de celda está utilizando. Si adjuntó (la parte relevante) de su hoja de cálculo a su pregunta (súbala a Dropbox o Mediafire o similar), entonces lo haría.

Respuesta3

(No entiendo cómo Chris usa @ para indicar nombres de columnas. No me funciona. En mi solución, cada columna es un rango con nombre (días y horas) y el nombre del rango simple aparece en la fórmula. )

Es importante señalar aquí queamboslas columnas contienen números. La columna Horas contiene una fracción; dado que tiene el formato de hora, se interpreta como una fracción de un período de 24 horas. Eso tiene que ser cierto, o la fórmula

 =(Days+Hours)*24*60

no haría nada útil, ni siquiera para valores positivos.

Ahora, estamos sumando valores que siempre son ambos positivos o ambos negativos. El valor de Días siempre tiene el signo correcto, pero el valor de Horas siempre es no negativo, incluso cuando debería ser negativo. Entonces necesitamos cambiar el valor de Horas cuando los Días son negativos:

 =(Days+IF(Days>=0,Hours,-Hours))*24*60

información relacionada