En ocasiones tenemos listas en Excel y queremos comprobar si hay repeticiones. Si la lista es pequeña se comprueba fácilmente a simple vista, pero en ocasiones son listas muy largas y es imposible hacer tal comprobación.
Una manera que yo usaba para comprobar si en una lista hay duplicados era ordenar la lista (que podía estar en una columna) y posteriormente indicar una condicional según la cual SI(A2=A1;"Duplicado";"").
Según esta fórmula comprobaba si el dato era igual que el de la fila anterior y en caso de ser así me lo indica con el tecto "Duplicado". En caso contrario me deja la celda en blanco. Como previamente hemos ordenado todos los datos, en caso de haber datos duplicados, necesariamente se encontraran en filas sucesivas.
Sin embargo hay una forma mucho más sencilla de hacer la comprobación de datos duplicados y que, además, no requiere ordenar los datos. Es la siguiente:
Imaginémonos que tenemos la siguiente lista de nombres, donde deseamos comprobar si hay duplicidades:
Supongamos que en la celda B2 queremos saber si el nombre de la fila 2 (Juan) se repite en la lista de nombres. Pondríamos la fórmula =CONTAR.SI(A:A;"Juan").
¿Con eso qué conseguimos?
Que nos cuente las veces que aparece el nombre "Juan" en la lista y nos lo indica en la celda B2. En este caso 1, lo que significa que no está duplicado.
Para mejorar la fórmula pondremos =CONTAR.SI(A:A;A2). Esto nos permite no tener que escribir el nombre y arrastrar la fórmula hacia abajo.
Ahora tratemos de mejorar la forma de indicar las duplicidades. Supongamos que en lugar de aparecer al lado de los nombres el número con las apariciones del mismo en la lista, queremos que aparezca si está duplicado o no.
Para ello usaremos la fórmula condicional.
=SI(CONTAR.SI(A:A;A2)>1;"Duplicado";"")
Con esta fórmula condicional al lado de cada nombre aparecerá el texto "Duplicado" si el nombre aparece más de una vez en la lista y en caso contrario el contenido de la celda estará en blanco.
Claro que puede ser más interesante que a los nombres les aparezca "Duplicado" cada vez que salga a partir de la segunda vez. Es decir, la primera vez que aparezca el nombre no salga la etiqueta de "Duplicado" y cuando salga por segunda vez ya nos indique "Duplicado".
Eso lo conseguimos de la siguiente forma, después de colocarnos por ejemplo en la celda B3
=SI(CONTAR.SI(A$2:A3;A3)>1;"Duplicado";"")
¿Qué le indicamos con esa fórmula? Pues que cuente las veces que el nombre de la fila en cuestión aparece en el rango desde el primer nombre hasta el nombre de esa fila. (Al fijar la fila del inicio del rango A$2) y si aparece más de una vez indica que está "Duplicado".
GENIAL, PERO TENGO UNA DUDA, DIGAMOS QUE ENTRE MI LISTA TENGO 2 ESPACIOS EN BLANCO, Y QUIERO QUE SALGA DUPLICADO SOLO CUANDO HAY NOMBRES REPETIDOS. Y EVITAR QUE SALGA DUPLICADO EN LAS CASILLAS EN BLANCO, COMO PODRIA HACER
ResponderEliminarHola JJOTALB,
ResponderEliminarAcabo de comprobar en la hoja de cálculo la fórmula que indico y cuando no hay ningún valor en las celdas no me indica en las siguientes celdas vacías que sean duplicadas. Otra cosa es que por ejemplo, le incluya un espacio. Entonces sí que me sale DUPLICADO.
En todo caso lo más inmediato sería anidar una condicional según la cual, cuando se encuentre una celda vacía, la siga dejando igual. Y si encuentra una celda con datos aplique la fórmula.
Es decir, en lugar de usar la fórmula
=SI(CONTAR.SI(A$2:A3;A3)>1;"Duplicado";"")
Habría que usar:
=SI(A1="";"";SI(CONTAR.SI(A$1:A1;A1)>1;"Duplicado";""))
Espero que te sirva.
Un saludo