Consulta sobre excel

Supongamos que en una hoja de excel tengo encolumnada una larga serie de números, todos distintos.
Pero por alguna razón (error humano) me aparecen algunos números iguales entre sí.
Por ejemplo:
1021
3078
1953
581
42
3078
2587
Como se puede apreciar en la serie precedente, el número 3078 está repetido.
Me interesa encontrar alguna fórmula que me permita detectar cuales números están repetidos, ya que tales repeticiones configuran un error para el trabajo que me propongo hacer.
No se me escapa que podría ordenar los números convenientemente y controlarlos visualmente. Pero de este modo, corro el riesgo que se me pase por alto alguna repetición
Seguramente, debe haber algún método más científico para detectar las repeticiones indeseadas.
Muchas gracias por anticipado

3 respuestas

Respuesta
1
Te dejo una rutina que la colocarás en el Editor (Alt+F11) insertando un módulo.
Lo que hace es ordenar primero la tabla y luego eliminar las filas repetidas.
Encontrarás comentarios para orientarte.
Sub QuitaRepetidos()
'se trabaja sobre la col A desde la fila 2
ActiveSheet.Range("A2").Select
'se ordena el rango por la col 1, en forma ascendente
Selection.Sort key1:=Range("A2"), order1:=xlAscending, Header:=xlYes, ordercustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
'se controla hasta encontrar la primer celda vacía
While Not ActiveCell.Value = ""
'se compara con la celda de la fila siguiente
If ActiveCell.Value = ActiveCell.Offset(1, 0).Value Then
'si son iguales se elimina la fila siguiente
Selection.Offset(1, 0).EntireRow.Delete
Else
'se pasa a la fila siguiente
ActiveCell.Offset(1, 0).Select
End If
'se repite el ciclo
Wend
End Sub
Saludos y no olvides finalizar la consulta
Elsa
PD) Esta macro fue extraída de mi nuevo manual '400Macros'
Más teoría, más imágenes, más rutinas...
Estimada Elsa:
Ya estuve probando tu macro y funciona de maravilla.
Es más, lo hace tan rápido (ordenando y eliminando registros duplicados) que no me permite hacer ninguna evaluación sobre el origen de los errores.
Espero no abusar de tu amabilidad, pero me resultaría muy útil una pequeña variante de tu macro, donde -en lugar de eliminar los duplicados- simplemente los marque (o señale) del alguna forma, (pero sin eliminarlos) para poder analizar de donde provinieron los errores.
Otra vez gracias
Raúl
Lo siento, no me percaté que mencionabas 'detectar' (generalmente quieren eliminarlas). Te la ajusté para que te pinte la celda de color celeste. En la Ayuda del Editor, buscá el tema: Propiedad PatternColorIndex para obtener la lista completa de colores.
Conservá la rutina anterior, por si luego necesitás quitar los repetidos. Aquí va la nueva:
Sub PintaRepetidos()
'se trabaja sobre la col A desde la fila 2
ActiveSheet.Range("A2").Select
'se ordena el rango por la col 1, en forma ascendente
Selection.Sort key1:=Range("A2"), order1:=xlAscending, Header:=xlYes, ordercustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
'se controla hasta encontrar la primer celda vacía
While Not ActiveCell.Value = ""
'se compara con la celda de la fila siguiente
If ActiveCell.Value = ActiveCell.Offset(1, 0).Value Then
'si son iguales se pinta la celda de la fila siguiente de color celeste
ActiveCell.Offset(1, 0).Interior.ColorIndex = 8
End If
'se pasa a la fila siguiente
ActiveCell.Offset(1, 0).Select
'End If
'se repite el ciclo
Wend
End Sub
Saludos
Elsa
*** Más teoría, más imágenes, más rutinas....
Respuesta
1
Una de las formas como la podrías hacer es la siguiente.
Ir a datos, filtro, filtro avanzado,
En rango de lista, selecciona la columna que contiene registros repetidos.
En acción, dale "filtrar la lista sin moverla a otro lugar"
Rango de criterios, NADA.
Aciva la casilla de verificación de "solo registros únicos".
Y Dale aceptar.
Te habrá ocultado la filas repetidas, de esta forma ahora puedes seleccionar las filas de datos que quedaron y copiarlas a otra hoja u otro libro, como quieras, y solo te copiara las filas visibles, sin las ocultas, que serian las repetidas.
Respuesta
Se me ocurre que uses la función CONTAR. SI de tal forma que cuando este conteo te marque algo diferente a 1, entonces sabrás que ese dato está repetido (luego lo buscas manualmente para corregirlo).
Si tienes dudas de cómo usar la función me cuentas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas