Unificar datos duplicados

5 envíos / 0 nuevos
Último envío
A.Garcia.G
Imagen de A.Garcia.G
Offline
última acción: Hace 7 años 2 meses
alta: 01/02/2017 - 16:44
Puntos: 45
Unificar datos duplicados

Hola,

Tengo esta base de datos (es mucho más extensa ya que en la columna ID puede haber hasta 7000 códigos y las fechas 13 meses, de enero a enero) en al que los ID se repiten en cada fila, y se le asigna un valor en las columnas de las fechas que coincide con el periodo que establecen las columnas Fecha inicio-Fecha fin. Así para el 647175 la fecha de inicio es 1/1 y la de fin es 1/1 y en esa celda en particular le corresponde una A para el día 1/1.  

ID

FECHA
SOLICITUD

FECHA
INICIO

FECHA
FIN

01/01/2017

02/01/2017

03/01/2017

04/01/2017

05/01/2017

06/01/2017

 
 

647175

29/12/2016

01/01/2017

01/01/2017

A

 

 

 

 

 

 

647175

04/01/2017

02/01/2017

03/01/2017

 

R

R

 

 

 

 

517856

04/01/2017

01/01/2017

02/01/2017

P

P

 

 

 

 

 

517856

04/01/2017

03/01/2017

06/01/2017

 

 

A

A

R

R

 

658421

04/01/2017

01/01/2017

03/01/2017

A

A

A

 

 

 

 

658421

04/01/2017

04/01/2017

06/01/2017

 

 

 

R

R

P

 

647247

04/01/2017

01/01/2017

04/01/2017

R

R

R

R

 

 

 

647247

21/09/2016

09/01/2017

15/01/2017

 

 

 

 

P

P

 

Lo que necesito, y no he sido capaz de conseguir es que, tomando como referencia el ID, todos los valores se unifiquen en una sola fila, respetando los valores y las fechas. Algo así:

ID

FECHA
SOLICITUD

FECHA
INICIO

FECHA
FIN

01/01/2017

02/01/2017

03/01/2017

04/01/2017

05/01/2017

06/01/2017

 
 

647175

29/12/2016

01/01/2017

01/01/2017

A

R

R

 

 

 

 

517856

04/01/2017

01/01/2017

02/01/2017

P

P

A

A

R

R

 

658421

04/01/2017

01/01/2017

03/01/2017

A

A

A

R

R

P

 

647247

04/01/2017

01/01/2017

04/01/2017

R

R

R

R

P

P

 

 Además en caso de que la columna Fecha solicitud se repita en un mismo ID, necesito que el valor que se asigne a la celda sea el que tenga la fecha más reciente. Ejemplo: Para este ID hay dos fechas de solicitud diferentes 29/12 y 4/1

ID

FECHA
SOLICITUD

FECHA
INICIO

FECHA
FIN

01/01/2017

 
 

647175

29/12/2016

01/01/2017

01/01/2017

R

 

647175

04/01/2017

01/01/2017

01/01/2017

A

 

 

Necesito que el resultado final sea este, donde prevalece el valor del 04/01/2017 ya que es mas reciente que el 29/12

ID

FECHA
SOLICITUD

FECHA
INICIO

FECHA
FIN

01/01/2017

 
 

647175

29/12/2016

01/01/2017

01/01/2017

A

 

 

Muchas gracias de antemano por las respuestas.

Saludos

 

Etiquetas: 

Cron
Imagen de Cron
Offline
última acción: Hace 8 meses 3 semanas
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntos
alta: 23/06/2010 - 12:30
Puntos: 12735
Una vez tuve un problema

Una vez tuve un problema similar. Tuve que solucionarlo creando una macro que iba recorriendo la columna A, luego iba comparando datos, copiaba los datos que tenía que copiar y eliminaba los que tenía que eliminar. ¿Sabes hacer macros?

A.Garcia.G
Imagen de A.Garcia.G
Offline
última acción: Hace 7 años 2 meses
alta: 01/02/2017 - 16:44
Puntos: 45
Unificar datos duplicados

Si, pero no tanto como para implementar esto. Si tuvieras algo que me pudiera ayudar te estaria muy agradecido. 

Saludos

Cron
Imagen de Cron
Offline
última acción: Hace 8 meses 3 semanas
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntos
alta: 23/06/2010 - 12:30
Puntos: 12735
Lo que pasa es que es algo

Lo que pasa es que es algo muy específico según como estén colocados los datos.

Si no tienes celdas vacías en la columna A, puedes recorrerla con un bucle while del tipo:

Do while cells(1,i) <> ""

***cosas que hace***

Loop

 

Dentro de las **cosas que hace**, compara el valor de cells(1,i) con cells(1,i-1), y si son iguales, entonces empieza a mirar el resto de celdas. Finalmente eliminas la fila i y vas directamente a Loop.

Si los valores de cells(1,i) y cells(1,i-1) no son iguales, entonces haces i=i+1 para pasar a la fila siguiente y Loop.

Esto es porque cuando eliminas una fila no debes pasar a la siguiente fila, pues al eliminar la actual, la siguiente ocupa su lugar y debes analizarla igual.

Puedes proponer algo de código sobre el que construiremos o sobre el que te podemos dar indicaciones, o adjuntar un modelo de tu estructura de datos en un archivo de manera que podamos probar lo que te decimos.

Un saludo

A.Garcia.G
Imagen de A.Garcia.G
Offline
última acción: Hace 7 años 2 meses
alta: 01/02/2017 - 16:44
Puntos: 45
Unificar datos duplicado

Perfecto, me pongo y en cuanto tenga algo desarrollado os lo enseño.

Gracias¡¡