Como buscar un valor hacia arriba en una lista.

En la tabla:
Fecha Hora Nombre ID Number Tiempo Trans.
01-Sep-10 10:04:23 Gama Ruiz 110250
01-Sep-10 10:05:09 Maya Moreno 401273
01-Sep-10 10:05:27 Nevarez Torres 300118
01-Sep-10 10:06:58 Tejeda Rios 140215
01-Sep-10 10:15:07 Moreno Suarez 302418
01-Sep-10 10:16:48 Nevarez Torres 300118
01-Sep-10 10:17:17 Perez Solis 125436
01-Sep-10 10:22:04 Varela Peña 214523
01-Sep-10 10:23:10 Nevarez Torres 300118 00:06:22
Estoy buscando calcular cuanto tiempo pasó entre un registro y el inmediato anterior de la misma persona. En este caso, el de Nevarez Torres, el resultado que busco (00:06:22) es el tiempo que transcurrió entre las 10:23:10 y las 10:16:48, pero no encuentro como ubicar el registro inmediato anterior, ya que por ejemplo BUSCARV me da el primero de arriba hacia abajo.

1 Respuesta

Respuesta
1
Prueba con la siguiente fórmula en E2:
=B10-INDICE($B$2:$B10;MAX(($D$2:$D10=D10*(FILA($D$2:$D10)<FILA(D10)))*FILA($D$2:$D10))-1)
Teniendo en cuenta que:
- Se trata de una fórmula matricial, por lo que hay que introducirla pulsando mayúsculas control entada al mismo tiempo
- quizás haya que sustituir los puntos y comas por comas, dependiendo del separador de listas del PC
Esta misma fórmula serviría para el resto de las filas de la columna E haciendo un copiado y pegado normal. Se producirá el error #¡VALOR! Si no hay ningún registro "más arriba" con el mismo ID Number, error que se podría conseguir que no apareciera usando las funciones SI y ESERROR.
W o o o o w ! Excelente solución. Esto de las fórmulas matriciales todavía no acabo de entender bien cómo armarlas, pero son una chingonería. Muchas gracias por tu tiempo.
Saludos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas