¿Cómo comparar valores separados por comas en dos celdas y devolver valores duplicados o únicos en Excel?
Como se muestra en la captura de pantalla a continuación, hay dos columnas: Columna 1 y Columna 2, cada celda de la columna contiene números separados por comas. Para comparar los números separados por comas en la Columna 1 con el contenido de las celdas en la misma fila de la Columna 2 y devolver todos los valores duplicados o únicos, ¿qué podría hacer?
Este tutorial proporciona dos métodos para ayudarlo a realizar esta tarea.
Compare valores separados por comas en dos celdas y devuelva valores duplicados o únicos con fórmulas
Esta sección proporciona dos fórmulas para ayudar a comparar los valores separados por comas en dos celdas y devolver los valores duplicados o únicos entre ellos.
Note: Las siguientes fórmulas solo funcionan en excel para 365. Si está utilizando otras versiones de Excel, intente usar el siguiente método VBA.
Tome las dos columnas anteriores como ejemplo, para comparar los números separados por comas en la Columna 1 con los números separados por comas en la misma fila de la Columna 2 y devolver valores duplicados o únicos, haga lo siguiente.
Devolver valores duplicados
1. Seleccione una celda para generar los números duplicados entre las dos celdas especificadas con números separados por comas, en este caso, selecciono la celda D2, luego ingreso la fórmula a continuación y presiono el Participar llave. Seleccione la celda de fórmula y arrastre su Manija de Autocompletar hacia abajo para obtener los números duplicados entre las celdas de las otras 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 devolver los números únicos entre las dos celdas especificadas con números separados por comas en la misma fila, la siguiente fórmula puede ayudar.
1. Seleccione una celda para generar los números únicos, en este caso, selecciono la celda E2, luego ingreso la fórmula a continuación y presiono el botón Participar llave. Seleccione la celda de fórmula y arrastre su Manija de Autocompletar hacia abajo para obtener los números únicos entre las celdas de las otras filas.
=TEXTJOIN(", ",TRUE,UNIQUE(TRANSPOSE(TEXTSPLIT(TEXTJOIN(", ",TRUE,A2:B2), ", ")),,1))
Notas:
Compare dos columnas con valores separados por comas y devuelva valores duplicados o únicos con VBA
La función definida por el usuario proporcionada en esta sección ayuda a comparar los valores separados por comas en dos celdas específicas y devolver los valores duplicados o valores únicos entre ellos. Por favor, haga lo siguiente.
Tome el mismo ejemplo anterior, para comparar los números separados por comas en la Columna 1 con los números separados por comas en la misma fila de la Columna 2 y devolver valores duplicados o únicos, pruebe la función definida por el usuario en esta sección.
1. En el libro de trabajo de apertura, presione el otro + F11 teclas para abrir el Microsoft Visual Basic para aplicaciones ventana.
2. En el Microsoft Visual Basic para aplicaciones ventana, haga clic recuadro > Móduloy copie el siguiente código VBA en el Módulo (Código) ventana.
Código de VBA: compare valores separados por comas en dos celdas y devuelva 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 el Módulo (Código) ventana, vaya a hacer clic Herramientas > Referencias para abrir el Referencias - VBAProject ventana, compruebe la Tiempo de ejecución de secuencias de comandos de Microsoft cuadro y luego haga clic en el OK del botón.
4. presione el otro + Q llaves para cerrar el Microsoft Visual Basic para aplicaciones ventana.
5. Ahora necesita aplicar dos funciones por separado para devolver los valores duplicados y únicos de dos celdas de valor separadas por comas.
Devolver valor duplicado
Seleccione una celda para generar los números duplicados, en este ejemplo, selecciono la celda D2, luego ingreso la fórmula a continuación y presiono el botón Participar clave para obtener los números duplicados entre la celda A2 y B2.
Seleccione la celda de fórmula y arrastre su controlador de Autocompletar hacia abajo para obtener los números duplicados entre las celdas de las otras filas.
=COMPARE(A2,B2,TRUE)
Devolver valores únicos
Seleccione una celda para generar los números únicos, en este ejemplo, selecciono la celda E2, luego ingreso la fórmula a continuación y presiono el botón Participar clave para obtener los números únicos entre la celda A2 y B2.
Seleccione la celda de fórmula y arrastre su controlador de Autocompletar hacia abajo para obtener los números únicos entre las celdas de las otras filas.
=COMPARE(A2,B2,FALSE)
Las mejores herramientas de productividad de oficina
Mejore sus habilidades de Excel con Kutools for Excel y experimente la eficiencia como nunca antes. Kutools for Excel ofrece más de 300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haga clic aquí para obtener la función que más necesita...
Office Tab lleva la interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil
- Habilite 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 de la misma ventana, en lugar de en nuevas ventanas.
- ¡Aumenta su productividad en un 50% y reduce cientos de clics del mouse todos los días!