Formula para ultima fecha

Buen dia Expertos,

estoy con un problema para poder obtener una formula que me permita identificar la ultima fecha que haya tenido un registro alguna persona.

este es un ejemplo de la información que tengo que identificar:

tengo el DNI, tengo el ORIGEN y la FECHA que se registra cada persona, necesitaría la ultima fecha en que se registro cada persona con el MISMO DNI y MISMO ORIGEN,

en el cuadro por ejemplo tengo dos DNI 12345678 con ORÍGENES distintos "ARI" y "CAMPAÑA", como ARI es un origen distinto y solo tiene registro el 01/02/2014 se considera esa como ultima fecha.

DNI ORIGEN FECHA FORMULA

12345678 ARI 01/02/2014 ULTIMA

12345678 CAMPAÑA 01/02/2014 NO

98653265 ARI 01/02/2014 NO

98653265 ARI 05/02/2014 NO

98653265 ARI 06/02/2014 NO

78452587 CAMPAÑA 01/02/2014 ULTIMA

87587857 CAMPAÑA 05/02/2014 ULTIMA

87587857 CAMPAÑA 03/02/2014 NO

12345678 CAMPAÑA 10/02/2014 ULTIMA

98653265 ARI 05/02/2014 ULTIMA

1 Respuesta

Respuesta
1

Tu ejemplo tiene errores... pues hay dos resultados que no pueden ser correctos a la vez...

Se necesita que lo aclares para saber exactamente que necesitas... mira lo que he remarcado para que veas que la logica de ambas es diversa...

¿Qué es ultimo para ti? ¿Aquella qué la base de datos esta "despues" o aquella que tiene una fecha posterior?

Dni origen fecha formula
12345678 ARI 01/02/2014 ULTIMA
12345678 CAMPAÑA 01/02/2014 NO
98653265 ARI 01/02/2014 NO
98653265 ARI 05/02/2014 NO
98653265 ARI 06/02/2014 NO **
78452587 CAMPAÑA 01/02/2014 ULTIMA
87587857 CAMPAÑA 05/02/2014 ULTIMA ++
87587857 CAMPAÑA 03/02/2014 NO ++
12345678 CAMPAÑA 10/02/2014 ULTIMA
98653265 ARI 05/02/2014 ULTIMA **

Sabiendo cual es la logica hay que plantear una formula matricial... no tan complicada... pero al no saber el tamaño de tu base de datos si puede ser un poco lenta pues la prepararía para buscar a traves de toda la columna

Hola Jaime,

si solo cometí un error en el ultimo registro ya lo corregí, lo que me refería a ultimo resultado era la Ultima fecha o fecha posterior por ese motivo el DNI 87587857 con fecha 05/02 esta como ULTIMO a pesar de estar antes del otro registro con mismo DNI y fecha 03/02.

Mi base llega a tener un máximo de 80,000 registros al cierre del mes.

DNI ORIGEN FECHA FORMULA
12345678 ARI 01/02/2014 ULTIMA
12345678 CAMPAÑA 01/02/2014 NO
98653265 ARI 01/02/2014 NO
98653265 ARI 05/02/2014 NO
98653265 ARI 06/02/2014 NO
78452587 CAMPAÑA 01/02/2014 ULTIMA
87587857 CAMPAÑA 05/02/2014 ULTIMA
87587857 CAMPAÑA 03/02/2014 NO
12345678 CAMPAÑA 10/02/2014 ULTIMA
98653265 ARI 10/02/2014 ULTIMA

Perfecto... Ahora si esta todo claro... y aquí va mi planteamiento..

En la celda D2 (estoy suponiendo que tus datos empiezan en A2 y que la fila 1 son los encabezado)... copia la siguiente formula matricial:

=SI( MAX(SI((A:A=A2)*(B:B=B2),C:C,""))=C2,"ULTIMA","NO")

Recuerda que la formula matricial se introduce con Ctrl+Shift+Enter

Luego copias hacia abajo arrastrando con el mouse

Me avisas como resultó

la formula si funciona correctamente, el problema es que la formula matricial es muy lenta para mi base que llega a tener hasta 80 mil registros (hice una prueba con un grupo pequeño de datos alrededor de 100) , existirá alguna otra alternativa a este caso?

Si... pero requiere que previamente ordenes toda la base de datos en función del campo fecha... para que la ultima fecha de cualquier registro aparezca siempre "después" de las fechas previas...

Allí si se podría resolver con un contar.si... que debe ser algo más rápido

Usaría esta formula que ya no es matricial...

=SI(CONTAR.SI.CONJUNTO(A$1:A2,A2,B$1:B2,B2)=CONTAR.SI.CONJUNTO(A:A,A2,B:B,B2),"ULTIMA","NO")

Gracias Jaime,

Para que funcione concatene las celdas DNI y ORIGEN para tener un valor unico,

voy a ver que tal me va en el transcurso del mes.

Saludos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas