Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Multiplicar más de 24 horas por un nº entero

Estas en el tema de Multiplicar más de 24 horas por un nº entero en el foro de Bases de Datos General en Foros del Web. Hola a todo el foro. En primer lugar agradecer que haya un lugar como este donde podamos transmitir conocimientos y resolver dudas. Mi problema es ...
  #1 (permalink)  
Antiguo 24/02/2009, 09:19
 
Fecha de Ingreso: marzo-2006
Mensajes: 56
Antigüedad: 18 años, 9 meses
Puntos: 0
Información Multiplicar más de 24 horas por un nº entero

Hola a todo el foro.

En primer lugar agradecer que haya un lugar como este donde podamos transmitir conocimientos y resolver dudas.

Mi problema es que no sé como crear una formula que me multiplique más de 24 horas por un valor entero. O sea, 30:30 multiplicado por 5 debería darme un valor de 152,5.

Os pongo un ejemplo de como tengo el formato de las celdas:

A1 (formato [h]:mm) valor ----------------------------> 15:00
A2 (formato [h]:mm) valor-----------------------------> 15:30
A3 (formato [h]:mm) (formula: SUMA(F4:F21)) valor ----------> 30:30
A4 (formato número) (formula: ¿A3? * 5) valor--------------> 152,5

En A4 he probado diferentes formulas (que he ido copiando de soluciones a problemas parecidos de otros usuarios), y funcionan si no pasan de 23:59, pero si las sumas de las horas sobrepasan las 24 horas las formulas que he probado no funcionan.

La tabla que uso es la de excel. Este detalle lo olvidé mencionar antes.

Por favor espero vuestra ayuda.

Agradezco de antemano vuestra colaboración.

Atentamente,
Jose

Última edición por josemauricio; 24/02/2009 a las 12:20
  #2 (permalink)  
Antiguo 24/02/2009, 12:02
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años, 1 mes
Puntos: 2658
Respuesta: Multiplicar más de 24 horas por un nº entero

Nunca podrás hacer la multiplicación de la forma que deseas, por la simple razón de que no existe un día que dure más que 23:59:59 horas. Un día solamente puede tener 86400 segundos. No más. Es un límite definido en el modelo de tipo de datos.
Lo que debes hacer es resolver tu problema manipulado el tipo de datos de modo de hacer posible esa multiplicación.
Una de las formas más sencillas es hacer una doble conversión: Primero a entero (entero, no decimal) y luego volverlo a transformar... a DATETIME, no a TIME. El time no te sirve.

La solución de tu problema puede variar respecto del DBMS que uses, de modo que mi sugerencia sería sumar la resultante de la conversión de la hora a minutos y luego convertir el resultado a un DATETIME, lo que te daría un valor más aproximado.
Para ser muy específico, la cosa sería en MySQL:
Código SQL:
Ver original
  1. SELECT SEC_TO_TIME((SUM(TIME_TO_SEC(hora)) * entero) totalHoras
  2. FROM tabla;

Esto funcionaría en MySQL, porque la función SEC_TO_TIME() puede manipular hasta 830 horas. Pero no sería admisible para almacenar el valor. En ese caso te recomiendo almamacenar el valor en segundos, o convertir los segundos en un DOUBLE con sólo dividirlos por 86400.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 24/02/2009, 12:10
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 9 meses
Puntos: 300
Respuesta: Multiplicar más de 24 horas por un nº entero

Estoy con gnzsoloyo, pero es que creo que te has equivocado de foro. Por lo que veo usas Excel, ¿verdad?
La explicación de gnzsoloyo te hará entender el problema, pero para excel la solución de formato la encontrarás aquí:
http://hojas-de-calculo-en-excel.blo...-segundos.html
Tu error es aplicar un formato número a la celdilla A4. Te bastaría con aplicar [h]mm como formato para obtener el resultado que quieres.

Última edición por jurena; 24/02/2009 a las 13:33
  #4 (permalink)  
Antiguo 24/02/2009, 13:30
 
Fecha de Ingreso: marzo-2006
Mensajes: 56
Antigüedad: 18 años, 9 meses
Puntos: 0
Respuesta: Multiplicar más de 24 horas por un nº entero

Hola.

Muchas gracias JNZSOLOY y jurena.

Ya tengo la solución. La solución me lo ha dado el link de jurena, pero direccionandome hacia otro link por la pregunta de "ariel dijo... 10 de febrero de 2009 7:13" que está casi al final de la página.

La formula en concreto es muy simple:

A4 (formato número) (formula: =(A3*24)*5 ) Resultado --------------> 152,5

Muchas gracias por vuestra ayuda.
jose
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:47.