Fórmula de Excel: Unir celdas con coma -

Tabla de contenido

Fórmula genérica

=SUBSTITUTE(TRIM(A1&" "&B1&" "&C1&" "&D1&" "&E1)," ",", ")

Resumen

Para unir varios valores de celda con una coma, puede usar una fórmula basada en las funciones SUSTITUIR y RECORTAR. Puede utilizar este mismo enfoque para concatenar valores en celdas con cualquier delimitador que desee. En el ejemplo que se muestra, la fórmula en G5 es:

=SUBSTITUTE(TRIM(B5&" "&C5&" "&D5&" "&E5&" "&F5)," ",", ")

Explicación

Trabajando de adentro hacia afuera, la fórmula primero une los valores de las 5 celdas a la izquierda usando el operador de concatenación (&) y un solo espacio entre cada valor:

B5&" "&C5&" "&D5&" "&E5&" "&F5

Esta parte de la fórmula es molestamente manual. Para acelerar las cosas, copie & "" & al portapapeles antes de comenzar. Entonces sigue este patrón:

(hacer clic) (pegar) (hacer clic) (pegar) (hacer clic) (pegar)

hasta llegar a la última referencia de celda. En realidad, pasa bastante.

El resultado de esta concatenación (antes de ejecutar TRIM y SUBSTITUTE) es una cadena como esta:

"figs apples "

A continuación, la función TRIM que usamos para "normalizar" todos los espacios. TRIM elimina automáticamente el espacio al principio y al final de una cadena determinada y deja solo un espacio entre todas las palabras dentro de la cadena. Esto se encarga de los espacios adicionales causados ​​por celdas vacías.

"figs apples"

Finalmente, SUBSTITUTE se usa para reemplazar cada espacio ("") con una coma y un espacio (","), devolviendo un texto como este:

"figs, apples"

Unir celdas con otros delimitadores

Para unir celdas con otro delimitador (separador), simplemente adapte el argumento "new_text" dentro de SUBSTITUTE. Por ejemplo, para unir celdas con una barra inclinada, use:

=SUBSTITUTE(TRIM(B7&" "&C7&" "&D7&" "&E7&" "&F7)," ","/")

La salida se verá así:

limes/apricots/apricots/limes/figs

Función TEXTJOIN

La función TEXTJOIN es una nueva función disponible en Office 365 y Excel 2019. TEXTJOIN le permite concatenar un rango de celdas con un delimitador. Con TEXTJOIN, el ejemplo anterior se vería así:

=TEXTJOIN(", ",TRUE,B5:F5)

Macro

Jon Acampora de ExcelCampus tiene una macro genial para concatenar un rango de celdas.

Buenos enlaces

Macro para concatenar rango por Jon Acampora de ExcelCampus

Articulos interesantes...