Skip to main content

Kutools para Office — Una Suite. Cinco Herramientas. Haz Más.

¿Cómo encontrar valores comunes en 3 columnas en Excel?

Author Xiaoyang Last modified

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.

find common values in 3 columns

Encontrar valores comunes en 3 columnas con fórmulas matriciales

Macro VBA para extraer valores presentes en las tres columnas


arrow blue right bubble 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.

Find common values in3 columns with array formula

Notas y explicaciones de parámetros:

  1. Si prefieres una fórmula matricial diferente, 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))
    De nuevo, recuerda presionar Shift + Ctrl + Enter después de escribir o pegar la fórmula.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
a screenshot of kutools for excel ai

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.
Potencia tus capacidades de Excel con herramientas impulsadas por IA. ¡Descarga Ahora y experimenta una eficiencia como nunca antes!

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

🤖 Kutools AI Aide: Revoluciona el análisis de datos basado 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 identificar duplicados | Eliminar filas en blanco | Combinar columnas o celdas sin perder datos | Redondear...
Super BUSCARV: Búsqueda por varios criterios | Búsqueda por varios valores | Búsqueda en varias hojas | Coincidencia difusa....
Lista desplegable avanzada: Cree rápidamente una lista desplegable | Lista desplegable dependiente | Lista desplegable de selección múltiple....
Administrador de columnas: Agregar 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 | Administrador de Libro de trabajo y Hoja de cálculo | Biblioteca de AutoTexto | Selector de fechas | Combinar Datos | Cifrar/Descifrar celdas | Enviar correo electrónico por lista | Super Filtro | Filtro especial (filtrar celdas con fuente en negrita/cursiva/tachado...)...
Los15 principales conjuntos de herramientas:12 herramientas de texto (Agregar texto, Eliminar caracteres específicos, ...) | Más de50 tipos de gráficos (Diagrama de Gantt, ...) | Más de40 fórmulas prácticas (Calcular edad basada en la fecha de nacimiento, ...) |19 herramientas de inserción (Insertar código QR, Insertar imagen desde ruta, ...) |12 herramientas de conversión (Convertir a palabras, Conversión de moneda, ...) |7 herramientas de combinar y dividir (Combinar filas avanzado, Dividir celdas, ...) ... y más
Utiliza Kutools en tu idioma preferido: admite inglés, español, alemán, francés, chino y más de40 idiomas adicionales.

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.

Excel Word Outlook Tabs PowerPoint
  • 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