KutoolsforOffice — Una solución, cinco potentes herramientas.Lograr más con menos esfuerzo.Venta de marzo: 20 % de descuento

¿Cómo comparar valores separados por comas en dos celdas y obtener los duplicados o los únicos en Excel?

AutoraSiluvia Fecha de modificación

Como se muestra en la siguiente captura de pantalla, hay dos columnas: Columna1 y Columna2, y cada celda de ambas columnas contiene números separados por comas. Para comparar los números separados por comas de la Columna1 con los de la celda correspondiente en la misma fila de la Columna2 y obtener todos los valores duplicados o únicos, ¿qué puede hacer?

Este tutorial le ofrece dos métodos para ayudarle a realizar esta tarea.

comparar valores separados por comas en dos celdas


Comparar valores separados por comas en dos celdas y devolver valores duplicados o únicos con fórmulas

Esta sección ofrece dos fórmulas para comparar los valores separados por comas en dos celdas y obtener los elementos duplicados o únicos entre ellas.

Nota: Las siguientes fórmulas solo funcionan en Excel para Microsoft 365. Si utilizas otra versión de Excel, prueba el método VBA que se indica a continuación.

Tomando como ejemplo las dos columnas anteriores, para comparar los números separados por comas de la Columna1 con los de la Columna2 en la misma fila y obtener los valores duplicados o únicos, siga estos pasos.

datos de ejemplo

Devolver Valores duplicados

1. Seleccione una celda para mostrar los números duplicados entre las dos celdas especificadas con números separados por comas; en este caso, selecciono la celda D2, introduzca la fórmula siguiente y pulse la tecla Intro. A continuación, seleccione la celda con la fórmula y arrastre su control de autorrelleno hacia abajo para obtener los números duplicados entre las celdas de las demás filas.

=LET(x, TRANSPOSE(TEXTSPLIT(TEXTJOIN(", ",TRUE,A2:B2), ", ")),y,UNIQUE(x),z,UNIQUE(x,,1), TEXTJOIN(", ",TRUE,IF(ISERROR(MATCH(y,z,0)),y, «»)))

 comparar para devolver valores duplicados

Devolver valores únicos

Para obtener los números únicos entre las dos celdas especificadas —que contienen números separados por comas en la misma fila—, puede usar la siguiente fórmula.

1. Seleccione una celda para mostrar los números únicos; en este caso, la celda E2. Introduzca la fórmula siguiente y pulse la tecla Intro. A continuación, seleccione la celda con la fórmula y arrastre su control de autorrelleno hacia abajo para obtener los números únicos de las demás filas.

=TEXTJOIN(", ",TRUE,UNIQUE(TRANSPOSE(TEXTSPLIT(TEXTJOIN(", ",TRUE,A2:B2), ", ")),,1))

comparar para devolver valores únicos

Notas:

1) Las dos fórmulas anteriores solo pueden aplicarse en Excel para 365. Si utiliza una versión de Excel distinta de Excel para 365, pruebe el siguiente método VBA.
2) Las celdas que se van a comparar deben estar adyacentes entre sí en la misma fila o columna.
una captura de pantalla de kutools for excel ia

Descubra la magia de Excel con KUTOOLS AI

  • Ejecución inteligente: Realice operaciones en celdas, analice datos y cree gráficos con comandos sencillos.
  • fórmulas personalizadas: Cree fórmulas a medida para optimizar sus flujos de trabajo.
  • Programación en VBA: Escriba e implemente código VBA con facilidad.
  • Interpretación de fórmulas: Entienda las fórmulas complejas con facilidad.
  • Traducción de texto: Rompa las barreras del idioma directamente en sus hojas de cálculo.
Potencie sus capacidades en Excel con herramientas impulsadas por inteligencia artificial.Descárguelo ahora¡y experimente una eficiencia como nunca antes!

Comparar dos columnas con valores separados por comas y devolver valores duplicados o únicos con VBA

La función definida por el usuario que se incluye en esta sección le permite comparar los valores separados por comas de dos celdas especificadas y obtener los valores duplicados o únicos entre ellas. Siga estos pasos.

Tomando el mismo ejemplo anterior, para comparar los números separados por comas de la Columna1 con los números separados por comas de la misma fila de la Columna2 y devolver los valores duplicados o únicos, pruebe la función definida por el usuario de esta sección.

 datos de ejemplo

1. En el libro abierto, pulse las siguientes teclas:Alt+F11para abrir la ventana de Microsoft Visual Basic para Aplicaciones.

2. En la ventana de Microsoft Visual Basic para Aplicaciones, haga clic en Insertar>Móduloy copie el siguiente código VBA en la ventana de Módulo (Código).

 copie y pegue el código en el módulo

Código VBA: Comparar valores separados por comas en dos celdas y devolver valores duplicados/únicos

Private Function COMPARE(Rng1, Rng2 As Range, Op As Boolean)
'Updated by Extendoffice 20221019
    Dim R1Arr As Variant
    Dim R2Arr As Variant
    Dim Ans1 As String
    Dim Ans2 As String
    Dim Separator As String
    Dim d1 As New Dictionary
    Dim d2 As New Dictionary
    Dim d3 As New Dictionary
    Application.Volatile

    Separator = ", "
    
    R1Arr = Split(Rng1.Value, Separator)
    R2Arr = Split(Rng2.Value, Separator)
    
    Ans1 = ""
    Ans2 = ""
    
    For Each ch In R2Arr
        If Not d2.Exists(ch) Then
            d2.Add ch, "1"
        End If
    Next
    
    If Op Then
        For Each ch In R1Arr
            If d2.Exists(ch) Then
                If Not d3.Exists(ch) Then
                    d3.Add ch, "1"
                    Ans1 = Ans1 & ch & Separator
                End If
            End If
        Next
        If Ans1 <> "" Then
            Ans1 = Mid(Ans1, 1, Len(Ans1) - Len(Separator))
        End If
        COMPARE = Ans1
    Else
        For Each ch In R1Arr
            If Not d1.Exists(ch) Then
                d1.Add ch, "1"
            End If
        Next
        
        For Each ch In R1Arr
            If Not d2.Exists(ch) Then
                If Not d3.Exists(ch) Then
                    d3.Add ch, "1"
                    Ans2 = Ans2 & ch & Separator
                End If
            End If
        Next
        For Each ch In R2Arr
            If Not d1.Exists(ch) Then
                If Not d3.Exists(ch) Then
                    d3.Add ch, "1"
                    Ans2 = Ans2 & ch & Separator
                End If
            End If
        Next
        If Ans2 <> "" Then
            Ans2 = Mid(Ans2, 1, Len(Ans2) - Len(Separator))
        End If
        COMPARE = Ans2
    End If

End Function

3. Después de pegar el código en la ventana de Módulo (Código), vaya a Herramientas > Referencias para abrir la ventana Referencias: VBAProject, active la casilla Microsoft Scripting Runtime y, a continuación, haga clic en el botón Aceptar.

 haga clic en Herramientas > Referencias y marque la casilla Microsoft Scripting Runtime

4. Pulse las teclas Alt + Q para cerrar la ventana de Microsoft Visual Basic para Aplicaciones.

5. Ahora debe aplicar dos funciones independientes para obtener los valores duplicados y los únicos de dos celdas que contienen valores separados por comas.

Devolver valor duplicado

Seleccione una celda para mostrar los números duplicados; en este ejemplo, selecciono la celda D2, introduzca la fórmula siguiente y pulse la tecla Intropara obtener los números duplicados entre las celdas A2 y B2.

Seleccione la celda que contiene la fórmula y arrastre su control de autorrelleno hacia abajo para obtener los números duplicados en las celdas de las filas siguientes.

=COMPARE(A2,B2,TRUE)

 usar fórmula para devolver valor duplicado

Devolver valores únicos

Seleccione una celda para mostrar los números únicos; en este ejemplo, selecciono la celda E2, introduzca la fórmula siguiente y pulse la tecla Intropara obtener los números únicos entre las celdas A2 y B2.

Seleccione la celda que contiene la fórmula y arrastre su controlador de autorrelleno hacia abajo para generar números únicos en las celdas de las filas siguientes.

=COMPARE(A2,B2,FALSE)

 usar fórmula para devolver valor único

Las mejores herramientas de productividad para Office

🤖KUTOOLS AI Asistente: Revolucione Análisis de datos basándose en:Ejecución Inteligente   |  Generar código|  Crear fórmulas personalizadas  |  Analizar datos y generar gráficos|  Invocar Funciones mejoradas
Funciones populares:Buscar, resaltar o Marcar duplicados   |  Eliminar filas en blanco   |  Combinar Columnas o celdas sin perder datos   |   Redondeo sin usar fórmulas...
Super BUSCARV:Búsqueda vertical (VLookup) con múltiples criterios  |  Búsqueda vertical (VLookup) con múltiples valores  |   Búsqueda vertical (VLookup) entre varias hojas   |   Coincidencia difusa....
Lista desplegable avanzada:Crear rápidamente una lista desplegable   |  Lista desplegable dependiente   |  Lista desplegable de selección múltiple....
Gestor de columnas:Añadir un número específico de columnas|Mover columnas|Alternar el estado de visibilidad de columnas ocultas|Comparar rangos y columnas...
Funciones destacadas:Cuadrícula de enfoque   |  Vista de diseño   |Barra de fórmulas mejorada   | Gestor de libros y hojas   |  Biblioteca de recursos(Texto automático)|  Selector de Fecha   |  Combinar Hojas de Cálculo  |  Cifrar/Descifrar celdas   | Enviar correos electrónicos desde una lista   |  Super Filtro   |   Filtro especial(Filtrar celdas con fuente en negrita/cursiva/tachado...) ...
Principales conjuntos de herramientas 15:12 Herramientasde texto(Agregar texto,Eliminar caracteres específicos, ...)|   50+Tiposde gráfico(Diagrama de Gantt, ...)|   40+ Fórmulas prácticas(Calcular la edad basada en la fecha de nacimiento, ...)|   19 Herramientasde inserción(Insertar Código QR,Insertar imagen desde ruta, ...)|   12 Herramientasde conversión(Convertir a palabras,Conversión de moneda, ...)|   7 Herramientasde combinación y división(Combinar filas avanzado,Dividir celdas, ...)|...y muchas más
Use Kutools en su idioma preferido: compatible con inglés, español, alemán, francés, chino y 40+ más idiomas.¡

Potencie sus habilidades en Excel con Kutools para Excel y experimente una eficiencia como nunca antes.Kutools para Excel ofrece más de 300 funciones avanzadas para aumentar su productividad y Ahorrar tiempo.Haga clic aquí para obtener la función que más necesita...


Office Tab aporta una interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil

  • Active la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
  • Abra y cree varios documentos en nuevas pestañas dentro de la misma ventana, en lugar de hacerlo en ventanas separadas.
  • ¡Aumente su productividad en un 50 % y elimine cientos de clics del ratón cada día!

Todos los complementos de Kutools en un solo instalador.

Kutools for Office es la suite que incluye complementos para Excel, Word, Outlook y PowerPoint, además de Office Tab Pro, ideal para equipos que trabajan en distintas aplicaciones de Office.

ExcelWordOutlookTabsPowerPoint
  • Suite integral— complementos para Excel, Word, Outlook y PowerPoint + Office Tab Pro
  • Un instalador, una licencia— configuración en minutos (compatible con MSI)
  • Rendimiento mejorado en conjunto— productividad optimizada en todas las aplicaciones de Office
  • Prueba gratuita de 30 días con todas las funciones— sin registro ni tarjeta de crédito
  • La mejor relación calidad-precio— ahorre frente a la compra individual de complementos