Excel - Calcular el tiempo de conduccion de 11 vehículos

 
Vista:
sin imagen de perfil
Val: 5
Ha aumentado su posición en 5 puestos en Excel (en relación al último mes)
Gráfica de Excel

Calcular el tiempo de conduccion de 11 vehículos

Publicado por Iñigo (4 intervenciones) el 03/05/2018 17:56:37
Hola a todos,

Tengo un problema con el tiempo de conducción de unos vehículos. Lo que quiero conseguir, es el tiempo que han estado conduciendo los vehículos al mismo tiempo. Lo explico con un ejemplo en el archivo para que se entienda mejor.

¿Alguna idea de como hacerlo?

Gracias,
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Antoni Masana
Val: 4.154
Plata
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Calcular el tiempo de conduccion de 11 vehículos

Publicado por Antoni Masana (1459 intervenciones) el 04/05/2018 07:01:00
Creo que la Formula es esta:

1
=MIN(C5:C6)-MAX(B5:B6)

Y si quieres evita errores

1
=SI(MIN(C5:C6) >= MAX(B5:B6) ; MIN(C5:C6)-MAX(B5:B6) ; "No hay Tiempo en común")


Para entender el sentido de la Fórmula que lo explico con un Ejemplo

1
2
3
4
5
6
7
8
9
10
11
12
13
Vehículo A |  I..........................F
Vehículo B |     I............................F
Vehículo C |    I..........................F
Vehículo D |       I.....................F
Vehículo E |I................................F
Vehículo F |    I......................F
Vehículo G |            I.....................F
Vehículo H |         I.....................F
Vehículo I |   I..................................F
Vehículo J |        I.....................F
Vehículo K |      I..........................F
           +-------------------------------------------- Tiempo
            1  2  3  4  --Tiempo-Comun--  7  8  9  10

Para calcular el tiempo la instrucción es Hora_Final - Hora_Inicio

Para el calculo de 11 vehículos:

- ¿Cual es la hora FINAL? el que llega antes, es decir la hora más pequeña

1
=MIN(FINAL)

- ¿Cual es la hora INICIO? el que sale mas tarde, es decir la hor más grande

1
=MAX(INICIO)

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 5
Ha aumentado su posición en 5 puestos en Excel (en relación al último mes)
Gráfica de Excel

Calcular el tiempo de conduccion de 11 vehículos

Publicado por Iñigo (4 intervenciones) el 04/05/2018 09:09:00
Gracias, pero no solo tengo un determinado de horas. Me esplico mejor, por ejemplo tengo este horario (el cual sería distinto cada día):

2785DSC ene. 02, 2018 7:55:20 AM ene. 02, 2018 8:05:30 AM
2785DSC ene. 02, 2018 8:20:53 AM ene. 02, 2018 8:43:44 AM
2785DSC ene. 02, 2018 8:56:41 AM ene. 02, 2018 9:09:41 AM
9785 KHK abr. 03, 2018 4:48:11 PM abr. 03, 2018 5:37:52 PM
9785 KHK abr. 04, 2018 7:49:55 AM abr. 04, 2018 8:15:12 AM
9785 KHK abr. 04, 2018 8:16:34 AM abr. 04, 2018 8:17:13 AM
DAF.1588JMG ene. 02, 2018 11:31:29 AM ene. 02, 2018 11:36:07 AM
DAF.1588JMG ene. 02, 2018 12:05:11 PM ene. 02, 2018 12:07:36 PM
DAF.1588JMG ene. 02, 2018 12:11:30 PM ene. 02, 2018 12:35:23 PM

Y quiero sacar el tiempo que están conduciendo a la vez. Si uso lo que me has dicho, me puedo morir haciéndolo uno a uno, tiene que haber alguna forma de hacerlo medio automático.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 4.154
Plata
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Calcular el tiempo de conduccion de 11 vehículos

Publicado por Antoni Masana (1459 intervenciones) el 04/05/2018 09:47:18
Puedes subir un libro con una muestra más amplia.
En el ejemplo que has enviado no hay coincidencias de tiempo, además es necesario ver en que formato tienes los datos para saber como tratarlos.

O si lo prefieres a mi correo.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 5
Ha aumentado su posición en 5 puestos en Excel (en relación al último mes)
Gráfica de Excel

Calcular el tiempo de conduccion de 11 vehículos

Publicado por Iñigo (4 intervenciones) el 04/05/2018 09:58:53
Ya tengo subido un archivo, pero ya lo subo otra vez.

Muchas gracias!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 4.154
Plata
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Calcular el tiempo de conduccion de 11 vehículos

Publicado por Antoni Masana (1459 intervenciones) el 04/05/2018 12:00:07
Con el primer libro solo había visto la Hoja Problema y no las demás.

He realizado una MACRO para analizar el dia 2/01/2018 y no hay un solo segundo en el que estén los 11 Vehículos es servicio a la vez, He realizado un pequeño recorte de tal forma que si coinciden 2 o mas vehículos me muestre las horas.

Solo he tenido coincidencias de dos vehículos. Te pongo las tramas de horas y los vehículos

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
10:41:21   10:50:20   Nek.Nemo_0300JKZ   2785DSC
10:51:02   10:51:44   Nek.Nemo_0300JKZ   2785DSC
10:54:15   10:59:51   2785DSC            Nek.Nemo_9556HSB
11:06:36   11:20:06   2785DSC            Nek.Man_2837FMD
11:21:25   11:25:34   Nek.Man_2837FMD    Nek.Nemo_9556HSB
11:31:29   11:36:07   Nek.Man_2837FMD    DAF.1588JMG
12:05:11   12:07:36   Nek.Man_2837FMD    DAF.1588JMG
12:11:30   12:35:23   Nek.Man_2837FMD    DAF.1588JMG
12:38:49   12:39:04   Nek.Man_2837FMD    DAF.1588JMG
12:39:36   12:50:41   2785DSC            DAF.1588JMG
12:56:23   12:58:25   2785DSC            DAF.1588JMG
13:00:24   13:10:22   2785DSC            DAF.1588JMG
13:12:37   13:13:23   2785DSC            DAF.1588JMG
13:20:39   13:27:17   2785DSC            DAF.1588JMG
14:43:52   14:51:10   Nek.Nemo_0300JKZ   DAF.1588JMG
14:53:57   14:59:11   Nek.Nemo_0300JKZ   2785DSC
15:06:21   15:27:02   2785DSC            DAF.1588JMG
15:36:53   15:37:54   2785DSC            DAF.1588JMG
15:39:54   15:41:45   2785DSC            DAF.1588JMG
15:45:58   15:47:32   2785DSC            DAF.1588JMG
16:03:24   16:10:37   2785DSC            PEUGEOT 8336HDL
16:28:16   16:31:37   2785DSC            PEUGEOT 8336HDL
16:31:39   16:32:00   2785DSC            PEUGEOT 8336HDL


Te adjunto la MACRO, se tendria que hacer algunos cambios para procesar cualquier fecha o todas juntas
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
Sub pp()
    Dim a As Long, Car(11), Hora(11, 86400), Fecha As String, _
        b As Long, Fila As Long, Desde As Long, Hasta As Long, _
        Pos As Long, sw As Integer
 
    Sheets("Report").Select
 
    Fecha = "2018/01/02"
    Fila = 13
    While Format(Cells(Fila, 3), "YYYY/MM/DD") = Fecha
        Desde = Int((Cells(Fila, 3) - Int(Cells(Fila, 3))) * 86400)
        Hasta = Int((Cells(Fila, 4) - Int(Cells(Fila, 4))) * 86400)
 
        Pos = 0
        For a = 1 To 11
            If Car(a) = Cells(Fila, 1) Then Pos = a: Exit For
            If Car(a) = "" Then Car(a) = Cells(Fila, 1): Pos = a: Exit For
        Next
        For a = Desde To Hasta
            Hora(Pos, a) = "*"
        Next
        Fila = Fila + 1
    Wend
 
    Open "C:\Tmp\Car_Hora.txt" For Output As #1
    Desde = 0
    Hasta = 0
 
    For b = 0 To 86400
        sw = 0
        For a = 1 To 11
            If Hora(a, b) = "*" Then sw = sw + 1
        Next
        If sw = 11 Then
           If Desde = 0 Then
              Desde = b: Print #1, Format(Desde / 86400, "hh:mm:ss"); ";";
 
           Else
              Hasta = b
           End If
        Else
           If Desde > 0 Then
              Print #1, Format(Hasta / 86400, "hh:mm:ss"): Desde = 0: Hasta = 0
           End If
        End If
    Next
    Close
    MsgBox "FIN"
End Sub

Ya me contaras que opinas, y si se acerca a lo que deseas.

Saludos
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 4.154
Plata
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Calcular el tiempo de conduccion de 11 vehículos

Publicado por Antoni Masana (1459 intervenciones) el 04/05/2018 12:37:30
He modificado la macro para que analice toda la hoja y crea un fichero por día si hay coincidencia de los 11 vehículos y a menos que tenga un error no hay coincidencias.

LA MACRO

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
Option Explicit
 
Sub pp()
    Dim a As Long, Car(11), Hora(11, 86400), Fecha As String, _
        b As Long, Fila As Long, Desde As Long, Hasta As Long, _
        Pos As Long, sw As Integer, Coches As String, Tipos As String
 
    For b = 0 To 86400: For a = 1 To 11: Hora(a, b) = "": Next: Next
 
    Sheets("Report").Select:
 
    Fila = 9: Fecha = Format(Cells(Fila, 3), "YYYY.MM.DD")
 
    While Cells(Fila, 3) <> ""
        If Fecha <> Format(Cells(Fila, 3), "YYYY.MM.DD") Then
            Open "C:\Tmp\" + Fecha + ".txt" For Output As #1
            Desde = 0
            Hasta = 0
 
            For b = 0 To 86400
                DoEvents
                sw = 0
                For a = 1 To 11
                    If Hora(a, b) = "*" Then sw = sw + 1
                Next
                If sw = 11 Then
                    If Desde = 0 Then
                       Desde = b: Print #1, Format(Desde / 86400, "hh:mm:ss"); ";";
                    Else
                       Hasta = b
                    End If
                Else
                    If Desde > 0 Then
                        Print #1, Format(Hasta / 86400, "hh:mm:ss"): Desde = 0: Hasta = 0
                    End If
                End If
            Next
            Close
 
            For b = 0 To 86400: For a = 1 To 11: Hora(a, b) = "": DoEvents: Next: Next
            Fecha = Format(Cells(Fila, 3), "YYYY.MM.DD")
        End If
 
        Desde = Int((Cells(Fila, 3) - Int(Cells(Fila, 3))) * 86400)
        Hasta = Int((Cells(Fila, 4) - Int(Cells(Fila, 4))) * 86400)
 
        Pos = 0
        For a = 1 To 11
            DoEvents
            If Car(a) = Cells(Fila, 1) Then Pos = a: Exit For
            If Car(a) = "" Then Car(a) = Cells(Fila, 1): Pos = a: Exit For
        Next
 
        For a = Desde To Hasta
            Hora(Pos, a) = "*"
        Next
        Fila = Fila + 1
    Wend
 
    Open "C:\Tmp\" + Fecha + ".txt" For Output As #1
    Desde = 0
    Hasta = 0
 
    For b = 0 To 86400
        sw = 0: DoEvents
        For a = 1 To 11
            If Hora(a, b) = "*" Then sw = sw + 1
        Next
        If sw = 11 Then
           If Desde = 0 Then
              Desde = b: Print #1, Format(Desde / 86400, "hh:mm:ss"); ";";
           Else
              Hasta = b
           End If
        Else
           If Desde > 0 Then
              Print #1, Format(Hasta / 86400, "hh:mm:ss"): Desde = 0: Hasta = 0
           End If
        End If
    Next
    Close
    MsgBox "FIN"
End Sub

Saludos.
\\//_

NOTA Le faltan los comentarios. para interpretar mejor lo que hace.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 5
Ha aumentado su posición en 5 puestos en Excel (en relación al último mes)
Gráfica de Excel

Calcular el tiempo de conduccion de 11 vehículos

Publicado por Iñigo (4 intervenciones) el 07/05/2018 09:19:34
Muchas gracias, con esto me es más que suficiente. Se agradece un montón la ayuda que me has dado.

Un saludo,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar