¿Cómo comparar valores separados por comas en dos celdas y obtener los duplicados o los únicos en Excel?
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 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.

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, «»)))

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))

Notas:

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.
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.

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).

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.

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)

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)

Las mejores herramientas de productividad para Office
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.
- 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