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

¿Cómo encontrar los valores comunes en tres columnas de Excel?

AutorXiaoyang Fecha de modificación

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.

encontrar valores comunes en 3 columnas

Buscar valores comunes en 3 columnas con fórmulas matriciales

Macro VBA para extraer los valores presentes en las tres columnas


flecha azul burbuja derecha 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.

Encontrar valores comunes en 3 columnas con fórmula matricial

Notas y explicaciones de parámetros:

  1. Si prefiere una fórmula matricial alternativa, esta también devuelve todos los valores únicos presentes en las tres columnas:
    =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))
    Recuerde pulsar nuevamente Mayús + Ctrl + Intro tras escribir o pegar la fórmula.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
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!

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

🤖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