Excel - converte dias hh:mm:ss em minutos (incluindo valores negativos)

Excel - converte dias hh:mm:ss em minutos (incluindo valores negativos)

Dados fornecidos no seguinte formato (ou seja, dias horas:minutos:segundos):

-4 1:0:0,0

Como posso converter isso em minutos no Excel? (por exemplo, 5820 minutos)

Atualmente, faço texto para colunas (coluna de dias; coluna hh:mm:ss) e faço =([@Days]+[@Hours])*24*60; mas isto dá um valor errado onde os dias são negativos (por exemplo, -5700).

Alguém tem uma fórmula elegante?

Responder1

Supondo que sempre haverá horas nos dados (mesmo que zero) e, portanto, um espaço, tente esta fórmula para extrair os minutos dos seus dados originais em A1

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

Isso deve dar -5820 para o seu exemplo - esse é o resultado esperado ou você sempre quer um valor positivo?

Responder2

Envolva a função abs em torno da referência da célula aos dias. Por exemplo, se o dia foi armazenado em A1, substitua A1 por abs(A1). Isso retornará automaticamente o número sem sinal, portanto, os números negativos serão retornados como números positivos, fazendo com que a função funcione corretamente.

Eu faria isso por você, mas não sei como sua planilha está configurada e qual formato de célula você está usando. Se você anexou (a parte relevante) da sua planilha à sua pergunta (faça upload para o Dropbox ou Mediafire ou similar), eu o faria.

Responder3

(Não entendo como Chris está usando @ para indicar nomes de colunas. Não funciona para mim. Na minha solução, cada coluna é um intervalo nomeado (dias e horas) e o nome do intervalo simples aparece na fórmula. )

É importante notar aqui queamboscolunas contêm números. A coluna Horas contém uma fração; como está formatado como uma hora, isso é interpretado como uma fração de um período de 24 horas. Isso tem que ser verdade, ou a fórmula

 =(Days+Hours)*24*60

não faria nada de útil, mesmo para valores positivos.

Agora, estamos somando valores que são sempre positivos ou negativos. O valor Dias sempre tem o sinal correto, mas o valor Horas é sempre não negativo, mesmo quando deveria ser negativo. Portanto, precisamos alterar o valor de Horas quando Dias for negativo:

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

informação relacionada