Gonduana

Contenidos para traductores

  • Blog
  • Empieza por aquí
    • Encuesta: coger
    • Encuesta: ratón o mouse
    • Artículos más leídos
    • Vídeos más vistos
    • Gonduana en las redes sociales
    • ¿Quieres saber más sobre mí?
  • Recursos
    • Software para traductores
    • Hardware para traductores
    • Internet para traductores
    • WordPress para traductores
  • Sobre mí
  • Servicios
  • Contacto

Cómo quitar duplicados con una función de Excel

Publicado el 21/abril/2019 por Jesús Prieto

Quitar duplicados con una función de Excel

Si eres lector de este blog, seguramente recuerdas haber leído algún artículo para quitar duplicados de listas, ¿verdad? Ahora lo veremos desde una perspectiva distinta, porque quitaremos los duplicados con una función de Excel.

Índice

  • 1.ª forma: Botón de Excel
  • 2.ª forma: Macro VBA
  • 3.ª forma: Función de Excel
    • Cómo se usa la fórmula
    • Explicación de la función de Excel
  • Algunas consideraciones técnicas sobre la fórmula de Excel
    • Tiempos de cálculo
    • Un poco de aritmética
    • Conclusiones de los considerandos técnicos
  • Funciones de Excel para quitar duplicados

Que las siguientes secciones nos sirvan de repaso para ver las posibles formas de quitar duplicados:

1.ª forma: Botón de Excel

En este artículo de Gonduana:

Un ejemplo de comodines de Word y quitar los duplicados en Excel

vimos que hay una forma directa de borrar duplicados en Excel. Para ello, encuentra el botón Quitar duplicados, que está en cinta de Excel, ficha Datos y dentro del grupo Herramientas de datos:

Botón Quitar duplicados de Excel 365

Este procedimiento cambiaría esta lista:

a esta otra:

Lista sin duplicados en Excel 365 - botón Quitar duplicados

Si este es el resultado que quieres, porque no quieres distinguir mayúsculas de las minúsculas («Sun» y «SUN» son indistinguibles), entonces ya tienes la lista que necesitas.

Pero ¿y es no es lo que quieres?

Pues entonces hay otras formas. Sigue leyendo, por favor.

⁂

2.ª forma: Macro VBA

Vimos en el artículo:

Cómo borrar los duplicados de una lista productividad

que se podía ejecutar una macro de VBA para borrar los duplicados, pero manteniendo los que solo se diferencian por las mayúsculas y minúsculas.

No voy a repetir la macro, porque la tienes en el enlace anterior. Solo quiero apuntar que, si ejecutas esta macro, la lista cambiará así:

Listas con duplicados y sin duplicados en Excel 365 - VBA

Como ves, tiene en cuenta las letras mayúsculas y minúsculas para diferenciar los términos «Sun» y «SUN».

⁂

3.ª forma: Función de Excel

La 3.ª forma tiene el mismo resultado que la 2.ª forma, es decir, que distingue entre «Sun» y «SUN» y mantiene ambos términos en la lista final. La diferencia es que aprovecha las funciones de Excel para conseguir el objetivo de borrar los duplicados.

Te estarás preguntando cuál es la fórmula para borrar los duplicados, ¿verdad?

Te la digo enseguida, pero te aviso de que no es una única fórmula, sino dos, y de que las funciones de Excel están anidadas.

Para quitar duplicados usaremos esta función de Excel:

=SI(SUMAPRODUCTO(--IGUAL(A2;$B$1:B1));"";A2)

☛ En función de la configuración de tu sistema operativo, es posible que necesites cambiar los puntos y comas de la fórmula por comas.

No te preocupes si no entiendes esta fórmula: En seguida la veremos paso a paso:

Cómo se usa la fórmula

Para usar la fórmula, vamos a suponer que tenemos la lista original de términos que queremos filtrar en la columna A de una hoja de Excel:

Lista original con duplicados en Excel 365

En la columna B esperamos tener la lista filtrada, sin los términos repetidos.

Atento ahora, que empieza lo bueno…

Es fácil entender que el primer término de una lista no puede estar repetido, ¿verdad?

Por este motivo, en la celda B1 escribimos lo siguiente:

=A1

Recuerda pulsar la tecla INTRO.

Quitar duplicados con una función de Excel - celda B1

Hasta aquí, bien, ¿verdad?

En la celda B2 escribimos la fórmula larga que te di antes:

=SI(SUMAPRODUCTO(--IGUAL(A2;$B$1:B1));"";A2)

Antes de pulsar INTRO, tienes que tener algo muy parecido a:

Quitar duplicados con una función de Excel - celda B2

☛ No desesperes con esta formulita: La analizaremos en breve.

Ahora solo tenemos que copiar esa celda B2 a toda la columna B (al menos hasta la última fila con datos de la columna A). Hay varias formas de hacer esto; aquí te muestro una de ellas:

Quitar duplicados con una función de Excel - columna B

Como ves, la columna B ya ha borrado los duplicados, que era lo que queríamos, ¿verdad?

No es magia… Todo tiene su sentido, así que en la siguiente sección se explicarán las funciones de Excel empleadas que han borrado los duplicados de la lista.

☛ La mejor forma de aprender a crear tus propias fórmulas de Excel es entendiendo la lógica de otras fórmulas ya creadas.

Explicación de la función de Excel

La fórmula de la celda B1 es muy sencilla y no necesita más explicación que la dada antes.

Para explicar la fórmula insertada en la columna B, te copio aquí la fórmula de la celda B7, un poco más abajo, para entender mejor lo que hace:

=SI(SUMAPRODUCTO(--IGUAL(A7;$B$1:B6));"";A7)

☛ La función no es mía, sino que la encontré en internet.
☛ Recuerda que en la columna B solo tendremos los valores sin repetición y analizaremos la fórmula de dentro a fuera.

Bien, empezamos:

1. Función IGUAL

La función IGUAL compara dos celdas. Si son iguales, devuelve el valor VERDADERO; si son distintas, la función devuelve FALSO. Lo interesante es que, como queríamos, esta función distingue entre «Sun» y «SUN».

Como puedes ver en la fórmula de la celda B7 de Excel, se compara el valor de la celda A7 con cada uno de los valores desde B1 hasta B6, es decir, hasta la fila justo anterior. Esto nos da una matriz de valores VERDADERO y FALSO que guarda Excel internamente.

2. Operador --

Tal y como está, una matriz de VERDADEROS y FALSOS no es de gran utilidad, así que con el operador -- (dos signos menos) indicamos a Excel que convierta los VERDADEROS al valor 1 (uno) y los FALSOS a 0 (cero).

☛ Este operador (--) puede resultar muy útil, así que recuerda lo que hace: Convertir los valores lógicos VERDADERO y FALSO a valores numéricos 1 y 0, respectivamente.

Así pues, Excel tiene en memoria una matriz de unos y ceros.

Seguimos con la fórmula…

3. Función SUMAPRODUCTO

La función SUMAPRODUCTO sumará todos los unos (1) de la matriz que Excel guardó con la operación más interna IGUAL.

¿Qué valor puede dar la función SUMAPRODUCTO?

  • 1 si la celda A7 está duplicada;
  • 0 si la celda A7 NO está duplicada.

4. Función SI

Por último, la función más externa, SI, comprueba si su primer parámetro es VERDADERO (es decir, si A7 está duplicada) y, si es así, vacía la celda B7 (segundo parámetro de la función SI). En cambio, si el primer parámetro es FALSO, eso significa la celda A7 no está duplicada y establece la celda B7 con el valor que tenga la celda A7 (tercer parámetro de la función SI).

Si lo piensas bien, con esta fórmula hemos conseguido una columna B sin duplicados.

Es verdad que la columna B tiene algunos huecos que deberás borrar, pero esa parte ya es fácil, ¿verdad?

⁂

Algunas consideraciones técnicas sobre la fórmula de Excel

La fórmula ya está explicada, ya sabes por qué funciona, que no es cuestión de magia, aunque quizás entenderla tiene su complicación.

Ahora te estarás preguntando «¿Qué otros detalles técnicos me puedes contar, Jesús?».

La respuesta, en la siguiente sección, querido lector.

Tiempos de cálculo

El detalle técnico que te quiero comentar está relacionado con el procesamiento que le vas a exigir a Excel. Para listas pequeñas, de hasta un millar de términos, Excel filtrará tu lista de términos en un santiamén.

Por ejemplo, según mis pruebas, una lista de 1000 términos se «limpia» de forma instantánea; una de 10.000 términos tarda unos 5 segundos en limpiarse. No es mucho tiempo, pero si hubiera 100.000 términos, Excel tardaría 10 minutos en borrar los duplicados, un tiempo que ya empieza a ser preocupante…

El motivo de este tiempo tan dilatado es que para números grandes, el cálculo no es más complicado, pero sí mucho más laborioso.

☛ Si tuviste pesadillas con las matemáticas en tu época de estudiante, puedes saltarte la siguiente sección; pero si te maravillan las implicaciones de los números enormes, puedes leer la breve sección a continuación.

Un poco de aritmética

Imagínate la línea 10.000: Excel tiene que comparar el valor de la celda A10000 con los 9.999 valores que tiene por encima de la columna B. Solo entonces podrá confirmar si A10000 es un duplicado o no.

A continuación, Excel lidiará con la celda A10001, con 10.000 comparaciones más y así sucesivamente.

Mientras está en este cálculo intensivo, Excel parecerá «colgado» y no podrás hacer nada con el libro de trabajo de Excel donde tienes la lista que quieres filtrar.

Para una lista de 100.000 términos, Excel deberá comparar valores del orden de 5.000.000.000 de veces. ¡Cinco mil millones de comparaciones!

Son números mu grandes, de ahí que Excel tarde unos minutos en hacer el cálculo.

☛ Se trata de una seria aritmética, de esas que estudiamos en secundaria, que no deja de crecer y crecer con el tamaño de la lista y que tiende a infinito.

Cuidadito, entonces, con los tiempos, porque si multiplicas por 2 la lista de términos, el tiempo de cálculo se multiplicará por 4.

Bueno, ya está la aritmética… No era para tanto, ¿verdad?

Conclusiones de los considerandos técnicos

Además de parecerte que Excel está «colgado» y que no responde mientras hace los cálculos, el procesador de tu ordenador estará al 100 % de su capacidad, por lo que, en general, el ordenador te irá más lento…

Además de la lentitud general, el ordenador consumirá más potencia mientras está haciendo los cálculos, así que cuidadito con los portátiles desconectados de la red eléctrica, ya que al funcionar solo con batería, la autonomía será menor a la habitual.

⁂

Funciones de Excel para quitar duplicados

Función de Excel para quitar duplicados (suponiendo que la lista está en la columna A):

  1. En la celda B1 escribe esta fórmula:

    =A1

  2. En la celda B2 escribe la siguiente fórmula:

    =SI(SUMAPRODUCTO(--IGUAL(A2;$B$1:B1));"";A2)
    ☛ En función de la configuración de tu sistema operativo, es posible que necesites sustituir todos los puntos y coma de esta fórmula por comas.

  3. Copia la celda B2 y pégala en el resto de celdas de la columna B.

  4. ¡Voilá! Lista sin duplicados.

⁂

Nada más, solo un par de recomendaciones si te interesan las funciones de Excel:

  • Lee los otros artículos de Excel de este mismo blog. Los tienes todos si filtras por «Excel» en la nube de etiquetas (columna derecha del blog).
  • Suscríbete al boletín del blog, o sígueme en LinkedIn o Twitter (@jssprt). De esta manera, serás el primero en enterarte de la publicación de los artículos.

Entradas relacionadas

Si te ha gustado el artículo, además de compartirlo en tus redes sociales,

puedes leer otros artículos de Gonduana del mismo estilo:

Cosas que he aprendido este año 2022

30/diciembre/2022

Quería compartir las cosas que aprendí este año, algunas serán obvias para ti, otras no te llamarán la atención, espero que haya alguna que sea

Leer el artículo »

Macro de VBA para pegar sin formato en Word

2/agosto/2020

Al hilo del artículo anterior del blog, algunos me habéis comentado que sería interesante tener también la macro de VBA para pegar sin formato en

Leer el artículo »
Comodines en Excel

Los comodines de Excel

19/noviembre/2019

¿Quién ha dicho que no hay comodines en Excel? Si ya conoces la utilidad de los comodines de Word, tienes que conocer también los comodines

Leer el artículo »
Macros de Word para ordinales

Mis macros de Word para ordinales (Marisa E Schieda)

11/noviembre/2019

Este artículo es el segundo programado de Marisa E. Schieda, una correctora y bloguera argentina que quiere compartir contigo sus macros de Word para ordinales.

Leer el artículo »
Macros de Word para las abreviaturas de número

Mis macros de Word para abreviaturas de “número”

10/noviembre/2019

Este artículo es de Marisa E. Schieda, una correctora y bloguera argentina que quiere compartir contigo sus macros de Word para abreviaturas de «número», cuya

Leer el artículo »
Escribir el símbolo de marca registrada y superíndice 2

Cómo escribir el símbolo de marca registrada ®

30/septiembre/2019

Si quieres escribir el símbolo de marca registrada, es decir, ®, te presento aquí la forma de hacerlo en Word, Trados Studio y en cualquier

Leer el artículo »
Jesús Prieto

Jesús Prieto

Querido traductor: quiero compartir contigo muchas cosas que podrás aprovechar como profesional: desde herramientas especiales hasta técnicas comerciales; desde estrategias de marketing hasta trucos de productividad personal; desde cómo diseñar tu marca personal hasta novedades de impuestos.
Todos los artículos

Publicado en: tradumática Etiquetado como: Excel, VBA

Comentarios

  1. Andrés dice

    25/enero/2021 a las 2:10 pm

    Buenas

    Primeramente, muchas gracias por su dedicación y generosidad.

    Me gustaría saber cómo aplicar esta fórmula a dos campos previo a UNIRCADENAS

    columna A - propietarios
    columna B - dirección (algunos propietarios tienen varias direcciones y algunas direcciones coinciden para varios propietarios)

    columna D - propietarios
    columna E - direcciones sin duplicados para cada propietario

    columna G - propietarios sin duplicados
    columna H - direcciones concatenadas (con Unircadenas, sin problema)

    Reciba un cordial saludo

    Responder
  2. Omar Mojica dice

    26/julio/2021 a las 10:29 pm

    Muy buen la fórmula. La aplique y veo un pequeño detalle, y es que me deja celdas en blanco donde supongo va un valor repetido. Saludos

    Responder
    • Jesús Prieto dice

      28/julio/2021 a las 8:09 pm

      Hola, Omar:
      Esa parte ya es fácil en Excel, ¿verdad?
      Un abrazo,
      … Jesús Prieto …

      Responder
  3. Rodolfo dice

    16/mayo/2022 a las 7:33 pm

    Hola Muy buena explicación, tengo una consulta. se puede extraer valores unicos con una función pero en base a dos columnas?como sería la formula?.Por Ejemplo: tengo dos columnas en la A tengo MES y en la columna B LETRA.
    ENE----A
    FEB----B
    ENE----B
    FEB----B
    FEB----A
    lo que necesitaria que traiga los valores únicos que no estén duplicados en este caso sería ENE---A, ENE---B, FEB---A y FEB--B. Muchas grcias por la ayuda.

    Responder
    • Jesús Prieto dice

      18/mayo/2022 a las 7:46 pm

      Hola, Rodolfo:
      Selecciona las 2 columnas, y prueba con el mismo botón Quitar duplicados de Excel y verás que funciona.
      ¡Un abrazo!
      … Jesús Prieto …

      Responder

Comentar Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

 

Jesús Prieto

Jesús Prieto 2015

Sobre mí

Lo más visto…

Artículos más leídos de Gonduana
Vídeos más vistos de Gonduana
Gonduana en las redes sociales

Últimos artículos

  • Cosas que he aprendido este año 2022
  • Cómo escribir letras griegas con AutoHotkey
  • Macro de VBA para pegar sin formato en Word
  • Macro de AutoHotkey para pegar sin formato en Word
  • Extranjerismos en el ajedrez
  • Cómo buscar en el diccionario de la RAE con AutoHotkey
  • Los comodines de Excel
  • Novedades en el buscador de la RAE
  • Mis macros de Word para ordinales (Marisa E Schieda)
  • Mis macros de Word para abreviaturas de “número”

Nube de etiquetas

anglicismos AutoHotkey cobros comodines copias de seguridad correo español Excel foto fórmulas geografía geometría GTD historia imagen impagos InDesign libros marca matemáticas mouse MT ortografía Outlook parábolas PDF PHP poesía power PowerPoint RAE ratón regex retrasos tarifas teclado tipografía TM Trados Studio VBA vídeo Word WordPress XML zoología

Categorías

  • adaptación (3)
  • blog (11)
  • comercial (24)
  • contabilidad (2)
  • español (6)
  • etimología (5)
  • fiscalidad (2)
  • hardware (3)
  • macros (42)
  • marketing (8)
  • noticias (4)
  • productividad (42)
  • seguridad (5)
  • social (9)
  • software (41)
  • TAO (39)
  • terminología (9)
  • traducción automática (2)
  • traducción literaria (1)
  • tradumática (38)
  • vídeo (18)
Buscar en Gonduana
Política de privacidad
Política de cookies
Aviso legal
Creative Commons

Licencia Creative Commons

Blog de Gonduana: recursos para traductores

Esta web usa cookies
Es cansino, sí, pero la ley europea me obliga a avisarte que este blog, como casi el 100%, usa cookies para recabar datos. ¿Estás de acuerdo con mi Política de cookies? Vale Rechazar Más información
Política de cookies

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these cookies, the cookies that are categorized as necessary are stored on your browser as they are as essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may have an effect on your browsing experience.
Necessary
Siempre activado
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
GUARDAR Y ACEPTAR