Unir todos los datos de una columna de tabla en una celda.

Hola nefese:

Creo que esto no debería de ser complicado, pero no doy encontrado la fórmula correcta ni con concatenar, ni sumar ni otras muchas que he probado.

La columna D de la tabla contiene datos sólo en algunas celdas. Quisiera que en las mismas filas de la columna E en las que D contiene datos, se insertasen la totalidad de los datos de toda la columna D concatenados.

Saludos.

1 respuesta

Respuesta
1

La formula que necesitas es esta:

En la celda E2 inserta esta formula

=E1&SI(D2="","", D2)

y cópiala hacia abajo, de ese modo, al final de la columna E deberías tener todos los valores de la columna D... que según entendí es lo que necesitas (si no es asi, amplia tu caso).

Gracias nefese. Quizás no me expliqué bien.

El problema que presenta esta fórmula es que en todas las filas de la columna E se transcriben los valores de los registros anteriores, aunque el mismo registro no contenga ningún valor la columna D. Yo querría que en ese mismo registro, la celda de la columna E tampoco presentase ningún valor.

Ejemplo.

D E

1 a a

2 b ab

3

4

5 c abc

6 d abcd

Saludos y gracias.

Tal vez este hilando demasiado fino, pero lo que necesitas se logra por medio de una función personalizada (que te comparto) que al combinarla con una función SI te permite lograr lo que quieres

La función es esta (debes pegarla en el código del libro):

Function concatenarplus(rango As Range, Optional separador As Variant = "") As Variant
''Creada por FSerrano en 120125
''Modificada por FSerrano en 120314
''Concatena cada una de las celdas del rango especificado, con la opción de intercalar el separador ingresado
 For Each cell In rango
     If cell.Value <> "" Then
         concatenarplus = concatenarplus & cell & separador
     End If
 Next
If separador <> "" Then
     concatenarplus = Mid(concatenarplus, 1, Len(concatenarplus) - 2)
End If
End Function

Y la formula que debes ingresar en la celda E1 es esta

=SI(D1="","",concatenarplus($D$1:D1))

Luego de esto, y copiando la fórmula hacia abajo, deberías poder lograr lo que quieres.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas