¿Cómo encontrar valores comunes en 3 columnas en Excel?
Trabajar con datos en Excel a menudo implica comparar listas para identificar entradas compartidas o duplicadas. Aunque comparar dos columnas para localizar valores comunes es una tarea frecuente, hay situaciones en las que necesitas determinar qué valores aparecen en tres columnas separadas al mismo tiempo. Por ejemplo, al consolidar datos de encuestas, fusionar registros de ventas o analizar entradas duplicadas en varias listas, es importante extraer con precisión el conjunto de elementos presentes en todas las tres columnas, tal como se muestra en la captura de pantalla a continuación. Este artículo presenta varios métodos prácticos para resolver este problema en Excel, permitiéndote identificar de manera eficiente y confiable los valores comunes entre tres columnas, ya prefieras usar fórmulas o VBA.
Encontrar valores comunes en 3 columnas con fórmulas matriciales
Macro VBA para extraer valores presentes en las tres columnas
Encontrar valores comunes en 3 columnas con fórmulas matriciales
Para encontrar y extraer valores comunes entre tres columnas, puedes usar fórmulas matriciales diseñadas para buscar elementos que aparezcan en todos los rangos seleccionados. Esto es particularmente útil en conjuntos de datos donde no deseas depender de complementos adicionales de Excel u otras herramientas externas.
Introduce esta fórmula matricial en una celda vacía donde deseas mostrar el primer valor común:
=LOOKUP("zzz",CHOOSE({1,2},"",INDEX(A$2:A$10,MATCH(0,COUNTIF(E$1:E1,A$2:A$10)+IF(IF(COUNTIF(B$2:B$8,A$2:A$10)>0,1,0)+IF(COUNTIF(C$2:C$9,A$2:A$10)>0,1,0)=2,0,1),0))))
Cómo usar esta fórmula matricial:
- Después de introducir la fórmula en tu celda seleccionada, presiona Shift + Ctrl + Enter (no solo Enter). Excel encerrará la fórmula entre llaves para indicar que es una fórmula matricial.
- Arrastra la fórmula hacia abajo por la columna hasta que aparezcan celdas en blanco. Esto enumerará todos los valores compartidos por las tres columnas, y las celdas en blanco indicarán que no hay más coincidencias.
Notas y explicaciones de parámetros:
- Si prefieres una fórmula matricial diferente, esta también devuelve todos los valores únicos presentes en las tres columnas:
De nuevo, recuerda presionar Shift + Ctrl + Enter después de escribir o pegar la fórmula.=INDEX($A$2:$A$10, MATCH(0, COUNTIF($E$1:E1, $A$2:$A$10)+IF(IF(COUNTIF($B$2:$B$8, $A$2:$A$10)>0,1,0)+IF(COUNTIF($C$2:$C$9, $A$2:$A$10)>0,1,0)=2,0,1),0))
- En estas fórmulas:
- A2:A10, B2:B8, C2:C9 son los rangos de datos en cada una de las tres columnas que deseas comparar.
- E1 se refiere a la celda directamente encima de donde comienza tu fórmula (para lógica de exclusión). Ajusta las referencias de celdas para que coincidan con tus rangos de datos reales y la ubicación donde deseas que aparezcan los resultados.
- Estos métodos funcionan bien para conjuntos de datos moderados, pero pueden volverse lentos en volúmenes muy grandes debido a las demandas de cálculo de las fórmulas matriciales.
- Ten cuidado de evitar ajustar los rangos de origen a mitad del proceso, ya que puede llevar a resultados inexactos o errores en las fórmulas.
- Si el resultado incluye filas en blanco, significa que se han extraído todos los valores comunes y las celdas restantes no tienen más intersecciones.

Descubre la Magia de Excel con Kutools AI
- Ejecución Inteligente: Realiza operaciones en celdas, analiza datos y crea gráficos, todo impulsado por comandos simples.
- Fórmulas Personalizadas: Genera fórmulas adaptadas para optimizar tus flujos de trabajo.
- Codificación VBA: Escribe e implementa código VBA sin esfuerzo.
- Interpretación de Fórmulas: Comprende fórmulas complejas con facilidad.
- Traducción de Texto: Supera las barreras del idioma dentro de tus hojas de cálculo.
Macro VBA para extraer valores presentes en las tres columnas
Si prefieres un enfoque automatizado que no requiera ingresar o copiar fórmulas complejas, puedes usar VBA de Excel para recorrer tus datos y generar solo aquellos valores que están presentes en cada una de las tres columnas. Este método es particularmente útil para conjuntos de datos muy grandes o cuando trabajas con rangos dinámicos, ya que VBA es más eficiente para manejar tareas repetitivas y criterios personalizados.
1. Haz clic en Desarrollador > Visual Basic para abrir el editor de VBA (si la pestaña Desarrollador no está visible, puedes activarla a través de Archivo > Opciones > Personalizar cinta).
2. En el editor de VBA, haz clic en Insertar > Módulo para crear un nuevo módulo. Luego, pega el código a continuación en la ventana del módulo:
Sub FindCommonValuesThreeColumns()
Dim dict1 As Object
Dim dict2 As Object
Dim dict3 As Object
Dim resultDict As Object
Dim rngA As Range
Dim rngB As Range
Dim rngC As Range
Dim cell As Range
Dim outputRow As Long
Dim key As Variant
On Error Resume Next
Set dict1 = CreateObject("Scripting.Dictionary")
Set dict2 = CreateObject("Scripting.Dictionary")
Set dict3 = CreateObject("Scripting.Dictionary")
Set resultDict = CreateObject("Scripting.Dictionary")
' Prompt the user to select the three column ranges
Set rngA = Application.InputBox("Select the first column range", "KutoolsforExcel", Selection.Address, Type:=8)
Set rngB = Application.InputBox("Select the second column range", "KutoolsforExcel", Selection.Address, Type:=8)
Set rngC = Application.InputBox("Select the third column range", "KutoolsforExcel", Selection.Address, Type:=8)
' Store all unique values from each column into corresponding dictionaries
For Each cell In rngA
If Not dict1.exists(cell.Value) And cell.Value <> "" Then
dict1.Add cell.Value, 1
End If
Next
For Each cell In rngB
If Not dict2.exists(cell.Value) And cell.Value <> "" Then
dict2.Add cell.Value, 1
End If
Next
For Each cell In rngC
If Not dict3.exists(cell.Value) And cell.Value <> "" Then
dict3.Add cell.Value, 1
End If
Next
' Check which values exist in all three dictionaries
For Each key In dict1.keys
If dict2.exists(key) And dict3.exists(key) Then
resultDict.Add key, 1
End If
Next
' Output result to next empty column on the active sheet
outputRow = 1
For Each key In resultDict.keys
Cells(outputRow, Columns.Count).End(xlToLeft).Offset(0, 1).Value = key
outputRow = outputRow + 1
Next
MsgBox "Common values extracted next to your data.", vbInformation, "KutoolsforExcel"
End Sub
3. En la ventana de VBA, con el módulo seleccionado, presiona F5 o haz clic en el botón Ejecutar (▶) para ejecutar el código. Se te pedirá, en secuencia, que selecciones cada uno de los tres rangos de columnas que deseas comparar. Usa el ratón para resaltar las celdas apropiadas durante cada solicitud.
4. La macro procesará tus selecciones y generará todos los valores presentes en las tres columnas en la siguiente columna vacía a la derecha de tu conjunto de datos actual, comenzando desde la primera fila.
Este método es eficiente al trabajar con conjuntos de datos grandes o dinámicos y se puede extender fácilmente a cuatro o más columnas duplicando la lógica de diccionario. Siempre recuerda guardar tu libro antes de ejecutar macros, ya que los cambios no guardados no se pueden deshacer si deseas revertir.
Las mejores herramientas de productividad para Office
Mejora tu dominio de Excel con Kutools para Excel y experimenta una eficiencia sin precedentes. Kutools para Excel ofrece más de300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haz clic aquí para obtener la función que más necesitas...
Office Tab incorpora la interfaz de pestañas en Office y facilita mucho tu trabajo
- Habilita la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abre y crea varios documentos en nuevas pestañas de la misma ventana, en lugar de hacerlo en ventanas separadas.
- ¡Aumenta tu productividad en un50% y reduce cientos de clics de ratón cada día!
Todos los complementos de Kutools. Un solo instalador
El paquete Kutools for Office agrupa complementos para Excel, Word, Outlook y PowerPoint junto con Office Tab Pro, ideal para equipos que trabajan en varias aplicaciones de Office.





- Suite todo en uno: complementos para Excel, Word, Outlook y PowerPoint + Office Tab Pro
- Un solo instalador, una licencia: configuración en minutos (compatible con MSI)
- Mejor juntos: productividad optimizada en todas las aplicaciones de Office
- Prueba completa de30 días: sin registro ni tarjeta de crédito
- La mejor relación calidad-precio: ahorra en comparación con la compra individual de complementos