Filas repetidas

Respuesta de
a
Usuario
Hola.

Tengo un archivo excel con una unca columna con 2000 drecciones de e-mail, cada una en una fila distinta. Mi problema es que muchos de estos e-mails están repetidos y me gustaría saber si hay alguna manera de que excel encuentre los repetidos y los elmine, para no tener que ir mirando yo uno a uno.

Muchas gracias
Avatar
Experto
Hola, Xavi!

OK, en estos casos antes de ejecutar un proceso de eliminación de registros, prefiero hacer un control de lo que MS Excel interpretará como duplicados.
Para ello, me valgo de una columna auxiliar que marcará aquellos que estén más de una vez.
Tal columna cuenta, en su primera celda con una fórmula como esta:

=CONTAR.SI($B$3:$B3,B3)
[Considera si sueles usar comas o punto y coma para separar argumentos de las funciones. Yo usé ";"]

Luego, copia esta celda y pégala en las restantes de esta misma columna, una por cada una de las 2000 direcciones a controlar.

Esta fórmula, notarás, mantiene una referencia fija a la primer celda del rango y una relativa a la posición de la celda donde la fórmula estuviese.

Así en la celda debajo de la primera, la fórmula será:

=CONTAR.SI($B$3:$B4;B4)

Esto provoca que la fórmula cuente cuántas veces está la dirección de la celda B4 desde el principio hasta la fila donde está ésta función, siendo la primera ocurrencia de una dirección duplicada contada como 1.

Con esta columna auxiliar, podrás identificar claramente
Cuáles direcciones están dupicadas (aquellas cuyo conteo sea mayor a uno).

A partir de aquí puedes aplicar un filtro automático para que te muestre aquellas distinta de uno.
(Menu: "Datos" | "Filtros" | "Filtro Automático", sobre esta columna; seleccionas "Personalizada" y eliges la opción "No es igual a" y 1 en la casilla siguiente)

Ahora bien si quieres eliminar esas filas filtradas, selecciona el área filtrada y aprieta F5 (Atajo para "Ir a"). En la ventana desplegada, clickea el botón "Especial". En la nueva ventana, marca "sólo celdas visibles". Pulse el botón Aceptar.


Así habrás seleccionado sólo las filas visibles, es decir, la de las direcciones duplicadas. Ahora, puedes eliminarla con "Edición" | "Eliminar"

O bien, puedes utilizar una macro como la siguiente para que recorra esta columna auxiliar eliminando las celdas que contengas.

Activa el editor de Visual Basic (presiona Alt+F11), inserta un nuevo módulo ("Insertar", "Módulo") y pega el siguiente código:
Sub Delerep()
Do While Not IsEmpty(ActiveCell)
If ActiveCell.Value > 1 Then
ActiveCell.EntireRow.Delete
Else
ActiveCell.Offset(1).Select
End If
Loop
End Sub

Cierra el Editor de Visual Basic y graba el archivo (a modo de back up)

Luego selecciona la primera celda de la columna auxiliar y ejecuta la macro DeleRep.

Al final de su ejecución, tal columna deberá mostrar solamente unos y tendrás direcciones únicas. Finalmente, puedes borrar estas fórmulas, si es que estimas que no las necesitarás otra vez.

Espero que esto ayude a resolver tu problema.
Si así fuera, agradeceré un comentario y que la finalices.
(Recuerda que mantener cierto número de respuestas pendientes impide que otros usuarios puedan consultarme)

Un abrazo!
Fernando

"Me lo explicaron y lo olvidé,
lo leí y lo entendí,
lo hice y lo aprendí".

°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
A cambio de mi tiempo, sólo te pido dos cosas:
- Finaliza (con puntaje y comentario) esta pregunta
- Ingresa al sitio www.porloschicos.com y, si quieres,
presiona el botón de donación (es gratis).
Confío en que lo harás. Por ambas cosas, muchas gracias.

°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°