¿Cómo encontrar los valores comunes en tres columnas de Excel?
Trabajar con datos en Excel suele implicar comparar listas para identificar entradas compartidas o duplicadas. Aunque es habitual comparar dos columnas en busca de valores comunes, en ocasiones necesitará determinar qué elementos aparecen simultáneamente en tres columnas distintas. Por ejemplo, al consolidar datos de encuestas, fusionar registros de ventas o analizar entradas duplicadas en múltiples listas, resulta esencial extraer con precisión el conjunto de valores presentes en las tres columnas, tal como se muestra en la siguiente captura de pantalla. Este artículo le ofrece varios métodos prácticos para resolver este reto en Excel, permitiéndole identificar de forma eficiente y fiable los valores comunes entre tres columnas, ya sea mediante fórmulas o VBA.

Buscar valores comunes en 3 columnas con fórmulas matriciales
Macro VBA para extraer los valores presentes en las tres columnas
Buscar valores comunes en 3 columnas con fórmulas matriciales
Para buscar y extraer los valores comunes entre tres columnas, puede utilizar fórmulas matriciales diseñadas para identificar elementos que aparezcan en los tres rangos seleccionados. Esta solución resulta especialmente útil en conjuntos de datos donde prefiera no depender de complementos adicionales de Excel ni de herramientas externas.
Introduzca esta fórmula matricial en una celda vacía donde quiera 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 utilizar esta fórmula matricial:
- Después de introducir la fórmula en la celda seleccionada, pulse Mayús + Ctrl + Intro (no solo Intro). Excel rodeará la fórmula con llaves para indicar que se trata de una fórmula matricial.
- Arrastre la fórmula hacia abajo por la columna hasta que aparezcan celdas vacías. Así revelará todos los valores compartidos por las tres columnas, y las celdas vacías indicarán que ya no hay más coincidencias.

Notas y explicaciones de parámetros:
- Si prefiere una fórmula matricial alternativa, esta también devuelve todos los valores únicos presentes en las tres columnas:
Recuerde pulsar nuevamente Mayús + Ctrl + Intro tras 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 y C2:C9 son los rangos de cada una de las tres columnas que desea comparar.
- E1 hace referencia a la celda situada justo encima del lugar donde comienza su fórmula (según la lógica de exclusión). Ajuste las referencias de celda para que coincidan con sus rangos reales y con la ubicación en la que desee que aparezcan los resultados.
- Estos métodos funcionan bien con conjuntos de datos moderados, pero pueden ralentizarse con volúmenes muy grandes debido a la elevada carga de cálculo que implican las fórmulas matriciales.
- Tenga cuidado de no modificar el rango de origen a mitad del proceso, ya que podría generar resultados inexactos o errores en la fórmula.
- Si el resultado incluye filas en blanco, significa que ya se han extraído todos los valores comunes y que las celdas restantes no tienen más intersecciones.

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.
Macro VBA para extraer los valores presentes en las tres columnas
Si prefiere un enfoque automatizado que no requiera introducir ni copiar fórmulas complejas, puede utilizar VBA en Excel para recorrer sus datos y mostrar únicamente los valores presentes en las tres columnas. Este método resulta especialmente útil con conjuntos de datos muy grandes o al trabajar con rangos dinámicos, ya que VBA gestiona de forma más eficiente las tareas repetitivas y los criterios personalizados.
1. Haga clic en Programador > Visual Basicpara abrir el editor de VBA (si la pestaña)Programador no está visible, puede habilitarla desde Archivo > Opciones > Personalizar Cinta de opciones).
2. En el editor de VBA, haga clic en Insertar > Módulo para crear un módulo nuevo. A continuación, pegue el siguiente código 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, pulse F5 o haga clic en el botón Ejecutar (▶) para ejecutar el código. A continuación, se le pedirá secuencialmente que seleccione cada uno de los tres rangos de columnas que desea comparar. Utilice el ratón para resaltar las celdas correspondientes en cada solicitud.
4. La macro procesará sus selecciones y mostrará todos los valores presentes en las tres columnas en la primera columna vacía a la derecha de su conjunto de datos actual, comenzando desde la primera fila.
Este método resulta especialmente eficaz al trabajar con conjuntos de datos grandes o dinámicos y se puede ampliar fácilmente a cuatro o más columnas simplemente duplicando la lógica del diccionario. Recuerde siempre guardar su libro antes de ejecutar macros, ya que los cambios no guardados no podrán deshacerse si decide revertirlos.
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