método para eliminar duplicados basado en orden

1 post / 0 nuevos
DudaPorEmail
Imagen de DudaPorEmail
Offline
última acción: Hace 9 meses 2 semanas
Nivel 1 - 200 puntos
alta: 15/10/2013 - 07:56
Puntos: 823
método para eliminar duplicados basado en orden

Expongo el método, hasta ahora no lo he visto en ningún sitio y a mi me es muy práctico.

 

 

Lo primero sería ordenar por tantos campos como queramos en función de nuestras necesidades (en este caso, por ejemplo, ordené primero por la columna C, y después por fecha de envío ascendente). Con esto sacaría un listado en que la primera repetición sería el envío más antiguo, para extraer el primer envío de cada cliente, a la vez que poder analizar cuantos envíos tiene cada cliente y el número de envío cronológicamente.

 

Después insertaría una columna junto al criterio principal para analizar repeticiones (o donde quieras, vaya) y otra para analizar registros únicos / duplicados.

 

Este sería el resultado:

 

 

C

D

E

1

Nombre de envío

Número de repeticiones

Valor único o con reps?

2

Amritansh Raghav

1

con reps

3

Amritansh Raghav

2

con reps.

4

Amritansh Raghav

3

con reps.

5

Amritansh Raghav

4

con reps.

6

Anna Bedecs

1

único

7

Christina Lee

1

con reps

8

Christina Lee

2

con reps.

9

Christina Lee

3

con reps.

10

Christina Lee

4

con reps.

11

Christina Lee

5

con reps.

12

Elizabeth Andersen

1

único

13

Francisco Pérez-Olaeta

1

con reps

14

Francisco Pérez-Olaeta

2

con reps.

15

Francisco Pérez-Olaeta

3

con reps.

16

Francisco Pérez-Olaeta

4

con reps.

17

Francisco Pérez-Olaeta

5

con reps.

18

Francisco Pérez-Olaeta

6

con reps.

19

John Edwards

1

con reps

20

John Edwards

2

con reps.

21

John Rodman

1

con reps

22

John Rodman

2

con reps.

23

Karen Toh

1

único

24

Ming-Yang Xie

1

único

25

Peter Krschne

1

con reps

26

Peter Krschne

2

con reps.

27

Roland Wacker

1

con reps

28

Roland Wacker

2

con reps.

29

Roland Wacker

3

con reps.

30

Roland Wacker

4

con reps.

31

Roland Wacker

5

con reps.

32

Roland Wacker

6

con reps.

33

Roland Wacker

7

con reps.

34

Roland Wacker

8

con reps.

35

Roland Wacker

9

con reps.

36

Roland Wacker

10

con reps.

37

Roland Wacker

11

con reps.

38

Roland Wacker

12

con reps.

39

Roland Wacker

13

con reps.

40

Roland Wacker

14

con reps.

  

Y esta la vista de las fórmulas:

 

 

C

D

E

1

Nombre de envío

Número de repeticiones

Valor único o con reps?

2

Amritansh Raghav

1

=SI(D2>1;"con reps.";SI(D3>1;"con reps";"único"))

3

Amritansh Raghav

=SI(C3=C2;D2+1;1)

=SI(D3>1;"con reps.";SI(D4>1;"con reps";"único"))

4

Amritansh Raghav

=SI(C4=C3;D3+1;1)

=SI(D4>1;"con reps.";SI(D5>1;"con reps";"único"))

5

Amritansh Raghav

=SI(C5=C4;D4+1;1)

=SI(D5>1;"con reps.";SI(D6>1;"con reps";"único"))

6

Anna Bedecs

=SI(C6=C5;D5+1;1)

=SI(D6>1;"con reps.";SI(D7>1;"con reps";"único"))

7

Christina Lee

=SI(C7=C6;D6+1;1)

=SI(D7>1;"con reps.";SI(D8>1;"con reps";"único"))

8

Christina Lee

=SI(C8=C7;D7+1;1)

=SI(D8>1;"con reps.";SI(D9>1;"con reps";"único"))

9

Christina Lee

=SI(C9=C8;D8+1;1)

=SI(D9>1;"con reps.";SI(D10>1;"con reps";"único"))

10

Christina Lee

=SI(C10=C9;D9+1;1)

=SI(D10>1;"con reps.";SI(D11>1;"con reps";"único"))

11

Christina Lee

=SI(C11=C10;D10+1;1)

=SI(D11>1;"con reps.";SI(D12>1;"con reps";"único"))

12

Elizabeth Andersen

=SI(C12=C11;D11+1;1)

=SI(D12>1;"con reps.";SI(D13>1;"con reps";"único"))

13

Francisco Pérez-Olaeta

=SI(C13=C12;D12+1;1)

=SI(D13>1;"con reps.";SI(D14>1;"con reps";"único"))

14

Francisco Pérez-Olaeta

=SI(C14=C13;D13+1;1)

=SI(D14>1;"con reps.";SI(D15>1;"con reps";"único"))

15

Francisco Pérez-Olaeta

=SI(C15=C14;D14+1;1)

=SI(D15>1;"con reps.";SI(D16>1;"con reps";"único"))

16

Francisco Pérez-Olaeta

=SI(C16=C15;D15+1;1)

=SI(D16>1;"con reps.";SI(D17>1;"con reps";"único"))

17

Francisco Pérez-Olaeta

=SI(C17=C16;D16+1;1)

=SI(D17>1;"con reps.";SI(D18>1;"con reps";"único"))

18

Francisco Pérez-Olaeta

=SI(C18=C17;D17+1;1)

=SI(D18>1;"con reps.";SI(D19>1;"con reps";"único"))

19

John Edwards

=SI(C19=C18;D18+1;1)

=SI(D19>1;"con reps.";SI(D20>1;"con reps";"único"))

20

John Edwards

=SI(C20=C19;D19+1;1)

=SI(D20>1;"con reps.";SI(D21>1;"con reps";"único"))

21

John Rodman

=SI(C21=C20;D20+1;1)

=SI(D21>1;"con reps.";SI(D22>1;"con reps";"único"))

22

John Rodman

=SI(C22=C21;D21+1;1)

=SI(D22>1;"con reps.";SI(D23>1;"con reps";"único"))

23

Karen Toh

=SI(C23=C22;D22+1;1)

=SI(D23>1;"con reps.";SI(D24>1;"con reps";"único"))

24

Ming-Yang Xie

=SI(C24=C23;D23+1;1)

=SI(D24>1;"con reps.";SI(D25>1;"con reps";"único"))

25

Peter Krschne

=SI(C25=C24;D24+1;1)

=SI(D25>1;"con reps.";SI(D26>1;"con reps";"único"))

26

Peter Krschne

=SI(C26=C25;D25+1;1)

=SI(D26>1;"con reps.";SI(D27>1;"con reps";"único"))

27

Roland Wacker

=SI(C27=C26;D26+1;1)

=SI(D27>1;"con reps.";SI(D28>1;"con reps";"único"))

28

Roland Wacker

=SI(C28=C27;D27+1;1)

=SI(D28>1;"con reps.";SI(D29>1;"con reps";"único"))

29

Roland Wacker

=SI(C29=C28;D28+1;1)

=SI(D29>1;"con reps.";SI(D30>1;"con reps";"único"))

30

Roland Wacker

=SI(C30=C29;D29+1;1)

=SI(D30>1;"con reps.";SI(D31>1;"con reps";"único"))

31

Roland Wacker

=SI(C31=C30;D30+1;1)

=SI(D31>1;"con reps.";SI(D32>1;"con reps";"único"))

32

Roland Wacker

=SI(C32=C31;D31+1;1)

=SI(D32>1;"con reps.";SI(D33>1;"con reps";"único"))

33

Roland Wacker

=SI(C33=C32;D32+1;1)

=SI(D33>1;"con reps.";SI(D34>1;"con reps";"único"))

34

Roland Wacker

=SI(C34=C33;D33+1;1)

=SI(D34>1;"con reps.";SI(D35>1;"con reps";"único"))

35

Roland Wacker

=SI(C35=C34;D34+1;1)

=SI(D35>1;"con reps.";SI(D36>1;"con reps";"único"))

36

Roland Wacker

=SI(C36=C35;D35+1;1)

=SI(D36>1;"con reps.";SI(D37>1;"con reps";"único"))

37

Roland Wacker

=SI(C37=C36;D36+1;1)

=SI(D37>1;"con reps.";SI(D38>1;"con reps";"único"))

38

Roland Wacker

=SI(C38=C37;D37+1;1)

=SI(D38>1;"con reps.";SI(D39>1;"con reps";"único"))

39

Roland Wacker

=SI(C39=C38;D38+1;1)

=SI(D39>1;"con reps.";SI(D40>1;"con reps";"único"))

40

Roland Wacker

=SI(C40=C39;D39+1;1)

=SI(D40>1;"con reps.";SI(D41>1;"con reps";"único"))

 

Antes de cambiar el criterio de ordenación, suelo copiar y pegar los valores de las columnas D y E para que no se recalculen las fórmulas si queremos mantener los números para posteriormente volver a aplicar los criterios de ordenación que usamos al principio.

 

Si quiero eliminar o extraer los registros únicos o duplicados, basta con ordenar ascendente o descendente por la columna E y eliminar las filas “único” o “con reps” y copiarlas a otro sitio…

 

De hecho este método lo tengo en macro para aplicarlo directamente con un solo botón, desde introducir los criterios para ordenar, insertar las dos columnas, rellenarlas, copiar y pegar los valores de las mismas.

 

(enviado por Pelayo) 

Etiquetas: