Consejo: Otros idiomas son traducidos por Google. Puedes visitar el English versión de este enlace.
Iniciar sesión
x
or
x
x
Suscríbete
x

or

¿Cómo concatenar celdas si existe el mismo valor en otra columna en Excel?

combinar si mismo

Como se muestra en la captura de pantalla izquierda, debe concatenar las celdas de la segunda columna si los valores de la primera columna son los mismos. ¿Cómo puede lograrlo?

En este artículo, presentaremos tres métodos para lograrlo.

Concatenar celdas si el mismo valor con fórmulas y filtros

Concatenar celdas si el mismo valor con el código VBA

Concatenar fácilmente celdas si tiene el mismo valor con Kutools for Excel


Filas de combinación avanzadas: combine celdas fácilmente si el mismo valor existe en otra columna

Con Kutools for Excel's Filas de combinación avanzadas utilidad, puede combinar fácilmente celdas en una columna si el mismo valor existe en otras columnas en Excel. Ver captura de pantalla:

contatinate de lo mismo

Kutools for Excel: con más de 200 útiles complementos de Excel, de prueba sin límite en días 60. Descargar y prueba gratis ahora!

Ficha Office Habilite la edición y navegación con pestañas en Office y haga su trabajo mucho más fácil ...
Kutools for Excel trae las características avanzadas de 300 a Excel y aumenta su productividad en 80%
  • Texto automático: Cree sus gráficos, imágenes, celdas, fórmulas complejas y reutilizar ellos rápidamente en el futuro.
  • Más de características de texto 20: Extraer número de la cadena de texto; Extraer o eliminar parte de los textos; Convertir números y monedas a palabras en inglés ...
  • Herramientas de fusión: Múltiples libros de trabajo y hojas en uno; Fusionar múltiples celdas / filas / columnas y guardar datos; Combinar filas duplicadas y sumar ...
  • Herramientas divididas: Dividir datos en varias hojas en función del valor; Un libro de trabajo para múltiples archivos Excel, PDF o CSV; De una columna a varias columnas ...
  • Saltar pasta Filas ocultas / filtradas; Cuenta y suma por color de fondo; Crear lista de correo y Enviar correos electrónicos por el valor de la celda...
  • Súper filtro: Cree esquemas de filtro avanzados y aplique a cualquier hoja; Tipo de Propiedad por semana, día, frecuencia y más; Filtrar por negrita, fórmulas, comentario ...
  • Más de potentes funciones de 300; Funciona con Office 2007-2019 y 365; Soporta todos los idiomas; Fácil despliegue en compañía; Funciones completas de prueba gratuita de 60-day.

Concatenar celdas si el mismo valor con fórmulas y filtros


Con las fórmulas siguientes, puede concatenar los contenidos de celda correspondientes si otra columna contiene el mismo valor en Excel.

1. Seleccione una celda en blanco además de la segunda columna (aquí seleccionamos la celda C2), ingrese la fórmula = IF (A2 <> A1, B2, C1 y "," & B2) en la barra de fórmulas, y luego presione entrar clave.

2. A continuación, seleccione la celda C2 y arrastre el controlador de relleno hacia abajo a las celdas que necesita concatenar.

3. Ingresa la fórmula = IF (A2 <> A3, CONCATENATE (A2, "," "", C2, "" ""), "") en la celda D2, y arrastre Fill Handle hacia abajo a las celdas restantes.

4. Seleccione la celda D1 y haga clic Información > Filtrar. Ver captura de pantalla:

5. Haga clic en la flecha desplegable en la celda D1, desmarque (Espacios en blanco) caja, y luego haga clic en OK botón.

Puede ver que las celdas están concatenadas si los valores de la primera columna son iguales.

Nota: Para usar las fórmulas anteriores con éxito, los mismos valores en la columna A deben ser continuos.


Concatenar celdas si el mismo valor con el código VBA

Además de la fórmula, en esta sección, le mostraremos cómo usar el código VBA para concatenar celdas si tiene el mismo valor.

1. Prensa otro + F11 teclas para abrir el Aplicaciones de Microsoft Visual Basic ventana.

2. En el Aplicaciones de Microsoft Visual Basic ventana, haga clic recuadro > Módulo. Luego copie y pegue el código debajo del Módulo ventana.

Código VBA: concatenar celdas si los mismos valores

Sub ConcatenateCellsIfSameValues()
	Dim xCol As New Collection
	Dim xSrc As Variant
	Dim xRes() As Variant
	Dim I As Long
	Dim J As Long
	Dim xRg As Range
	xSrc    = Range("A1", Cells(Rows.Count, "A").End(xlUp)).Resize(, 2)
	Set xRg = Range("D1")
	On Error Resume Next
	For I = 2 To UBound(xSrc)
		xCol.Add xSrc(I, 1), TypeName(xSrc(I, 1)) & CStr(xSrc(I, 1))
	Next I
	On Error GoTo 0
	ReDim xRes(1 To xCol.Count + 1, 1 To 2)
	xRes(1, 1) = "No"
	xRes(1, 2) = "Combined Color"
	For I = 1 To xCol.Count
		xRes(I + 1, 1) = xCol(I)
		For J = 2 To UBound(xSrc)
			If xSrc(J, 1) = xRes(I + 1, 1) Then
				xRes(I + 1, 2) = xRes(I + 1, 2) & ", " & xSrc(J, 2)
			End If
		Next J
		xRes(I + 1, 2) = Mid(xRes(I + 1, 2), 2)
	Next I
	Set xRg = xRg.Resize(UBound(xRes, 1), UBound(xRes, 2))
	xRg.NumberFormat = "@"
	xRg = xRes
	xRg.EntireColumn.AutoFit
End Sub

Notas:

1. D1 en línea Establecer xRg = Rango ("D1") significa que el resultado se colocará en la celda D1.

2. No y Color combinado en línea xRes (1, 1) = "No" y xRes (1, 2) = "Color combinado" son los encabezados de las columnas concatenadas. Puede cambiarlos cuando lo necesite.

3. presione el F5 tecla para ejecutar el código, entonces obtendrá los resultados concatenados en el rango especificado.


Concatenar fácilmente celdas si tiene el mismo valor con Kutools for Excel (varios clics)

Si los dos métodos anteriores son complicados para usted, aquí le mostraremos el Filas de combinación avanzadas utilidad de Kutools for Excel. Puede concatenar fácilmente celdas por comas, punto y coma, etc. si existen los mismos valores en otra columna.

Kutools for Excel : con más de 300 útiles complementos de Excel, gratis para probar sin limitaciones en los días 60.

1. Seleccione el rango con las celdas que necesita para concatenar, y luego haga clic Kutools > Contenido > Filas de combinación avanzadas. Ver captura de pantalla:

2. En el Combinar filas basadas en columna cuadro de diálogo, debe hacer lo siguiente.

A. Seleccione la columna con el mismo valor con el que desea concatenar celdas de acuerdo con, y luego haga clic en Clave primaria botón.

B. Seleccione la columna que desea concatenar, haga clic Combinar y luego especifique un separador del menú contextual (aquí seleccionamos Coma).

C. Haga clic en OK botón. Ver captura de pantalla:

Ahora las celdas se concatenan según la columna de clave principal.


Concatenar valores de celda múltiple y agregar espacio u otros delimitadores entre palabras:

Con Kutools for Excel's Combinar utilidad, puede combinar rápidamente varias filas, columnas o celdas en una columna, fila o celda con un separador específico como necesita en Excel. Ver captura de pantalla:

contatinate de lo mismo

Kutools for Excel: con más de 200 útiles complementos de Excel, de prueba sin límite en días 60. Descargar y prueba gratis ahora!


Concatenar fácilmente celdas si tiene el mismo valor con Kutools for Excel

Kutools for Excel incluye más de las útiles herramientas de Excel de 300. Gratis para probar sin limitaciones en los días 60. ¡Descargue la versión de prueba gratuita ahora!


Kutools for Excel: la mejor herramienta de productividad de Office aumenta su productividad en un 80%

  • Super Formula Bar (edite fácilmente varias líneas de texto y fórmula); Diseño de lectura (lee y edita fácilmente un gran número de celdas); Pegar en rango filtrado...
  • Combinar celdas / filas / columnas y mantener datos; Contenido de celdas divididas; Combinar filas duplicadas y suma / promedio... Prevenir células duplicadas; Comparar rangos...
  • Seleccione Duplicado o Único Filas; Seleccionar filas en blanco (todas las celdas están vacías); Super Find y Fuzzy Find en muchos libros de trabajo; Selección aleatoria ...
  • Copia exacta Celdas múltiples sin cambiar la referencia de fórmula; Crear referencias automáticamente a múltiples hojas; Insertar viñetas, Casillas de verificación y más ...
  • Fórmulas favoritas e insertadas rápidamente, Gamas, cuadros y cuadros; Cifrar celdas con contraseña Crear una lista de correo y enviar correos electrónicos ...
  • Extracto del texto, Agregar texto, Eliminar por posición, Eliminar espacio; Crear e imprimir subtotales de paginación; Convertir entre contenido de celdas y comentarios...
  • Súper filtro (guardar y aplicar esquemas de filtro a otras hojas); Clasificación avanzada por mes / semana / día, frecuencia y más; Filtro especial por negrita, cursiva ...
  • Combinar libros de trabajo y hojas de trabajo; Combinar tablas basadas en columnas clave; Dividir datos en varias hojas; Conversión por lotes xls, xlsx y PDF...
  • Más de potentes funciones de 300. Funciona con Office 2007-2019 y 365. Soporta todos los idiomas. Fácil despliegue en compañía. Funciones completas de prueba gratuita de 60-day.
pestaña kte 201905

Office Tab lleva la interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil

  • Habilitar la edición y lectura con pestañas en Word, Excel, PowerPoint, Editor, Acceso, Visio y Proyecto.
  • Abra y cree varios documentos en nuevas pestañas de la misma ventana, en lugar de en nuevas ventanas.
  • ¡Aumenta tu productividad en un 50% y reduce cientos de clics de ratón por ti todos los días!
fondo officetab
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Jade · 24 days ago
    Hi, first of all thanks for creating this resource. I have been trying to figure this out for a couple of hours and I'm stuck. I'm using your 'concatenate cells if same value' but my script is looking at column "D" instead of "A. I can't figure out how to get it to use a different column for the data besides the one right next to it. In my cases I want it to look at column "D" to see if the value is the same and if so, it will grab the data from column "H" and put that data from column "H' into a cell in column "J". How do I switch this to use column "H" for the data? Thx


    Sub ConcatenateCellsIfSameValues()
    Dim xCol As New Collection
    Dim xSrc As Variant
    Dim xRes() As Variant
    Dim I As Long
    Dim J As Long
    Dim xRg As Range
    xSrc = Range("D1", Cells(Rows.Count, "D").End(xlUp)).Resize(, 2)
    Set xRg = Range("J1")
    On Error Resume Next
    For I = 2 To UBound(xSrc)
    xCol.Add xSrc(I, 1), TypeName(xSrc(I, 1)) & CStr(xSrc(I, 1))
    Next I
    On Error GoTo 0
    ReDim xRes(1 To xCol.Count + 1, 1 To 2)
    xRes(1, 1) = "No"
    xRes(1, 2) = "Products"
    For I = 1 To xCol.Count
    xRes(I + 1, 1) = xCol(I)
    For J = 2 To UBound(xSrc)
    If xSrc(J, 1) = xRes(I + 1, 1) Then
    xRes(I + 1, 2) = xRes(I + 1, 2) & vbCrLf & xSrc(J, 2)
    End If
    Next J
    xRes(I + 1, 2) = Mid(xRes(I + 1, 2), 2)
    Next I
    Set xRg = xRg.Resize(UBound(xRes, 1), UBound(xRes, 2))
    xRg.NumberFormat = "@"
    xRg = xRes
    xRg.EntireColumn.AutoFit
    End Sub
  • To post as a guest, your comment is unpublished.
    Harry Vyvey · 2 months ago
    Hi,

    looks like 2 of your formulas are wrong :

    =IF(A2<>A3,CONCATENATE(A2,",""",C2,""""),""). You need to change "A2" to "D1". As you'll want to add the string to the previous cell.

    same goes for this formula :

    =IF(A2<>A1,B2,C1 & "," & B2) : Change C1 to D1.


    kind regards


    Harry
  • To post as a guest, your comment is unpublished.
    James · 10 months ago
    I use this VBA for lots of my spreadsheets and its great. But the spreadsheets have become very large 50k+ rows and it doesnt seem to be working any more. If I use it on 1000 rows it works fine but large sets of data it cant seem to cope with. No errors just no results. Any help would be appreciated.
    • To post as a guest, your comment is unpublished.
      crystal · 9 months ago
      Hi James,
      I tested the code as you mentioned, but it still works well in my case even I set the rows to 1000+.
  • To post as a guest, your comment is unpublished.
    Matt Carrington · 11 months ago
    Using the VBA macro and getting great results, I have tried tweaking it slightly for my needs but cant get it to work so I hope you can help.

    Which bit do I change to make it concat a specific column, not the one directly to the right of the xSrc = Range?

    Thanks for your great work!
    • To post as a guest, your comment is unpublished.
      Matt Carrington · 11 months ago
      Or as a better option, if you had 3 columns instead of 2 and found duplicates in column A (like your example) can you concat column B into a cell and column C into a seperate cell? So if you had columns of Number, Colour, Age, could you concat colour and age into different columns upon finding duplicates in Number? Hope that makes sense!
  • To post as a guest, your comment is unpublished.
    Ram · 1 years ago
    This is exactly what I needed...thank you
  • To post as a guest, your comment is unpublished.
    RS · 1 years ago
    I am so thankful to you for these formulas. Fantastic work!
  • To post as a guest, your comment is unpublished.
    Marissa W · 1 years ago
    The concatenate feature does not work. Combines all the rows into one cell despite different keys.
    • To post as a guest, your comment is unpublished.
      crystal · 1 years ago
      Dear Marissa,
      Sorry I am not sure I got your question. There are three methods in the article, which concatenate feature do you mean?
  • To post as a guest, your comment is unpublished.
    Geoffrey saya · 2 years ago
    How can i merge collums with the same names eg Column one reads Kenya throughout and collumn 2 reads western, Nyanza( appearing more than ten times) and column 3 three names of districts. I want to get how mang districts do we have in every province but keep the columns.
    • To post as a guest, your comment is unpublished.
      crystal · 2 years ago
      Dear Geoffrey,

      Please try the Advanced Combine Rows utility we mentioned in above method two. If you want to keep the columns, please make a copy of the original range and do everything in the copied range.

      Specify the province column as Primary Key, set the Column 1 as Keep 1st, and then set the district column as Calculate > Count.

      After that, you will get how many district you have in every province.
  • To post as a guest, your comment is unpublished.
    cathy postmus · 3 years ago
    Can't seem to concatenate with more than 2 cells using formulas and filters