Resumen —
TEXTJOINpega un rango de valores en una sola cadena, pone un separador entre ellos y —esta es la parte que casi todos pasan por alto— ignora las celdas vacías por ti. Sintaxis:=TEXTJOIN(separador; ignorar_vacío; texto1; …). El segundo argumento es todo el asunto:VERDADEROsalta los vacíos para no producir nunca"Ana; ; ; Ben";FALSOconserva los huecos. Un límite que conviene saber: el resultado no puede superar los 32 767 caracteres (una celda) o te sale#VALUE!. Disponible en Excel 365 y 2019+.
=TEXTJOIN("; ", VERDADERO, A2:A100)
=TEXTJOIN(" | ", VERDADERO, FILTER(Email, Estado = "Activo"))
Durante años, convertir una columna de nombres en "Ana; Ben; Carla" significaba
una cadena de A2 & "; " & A3 & "; " & A4 … que se rompía en cuanto una celda
estaba vacía (un ; ; suelto) o alguien insertaba una fila. TEXTJOIN sustituye
toda la cadena por una expresión: un rango, un separador y un interruptor para los
vacíos. Es la función para el caso «una celda contiene una lista».
Nota: en una interfaz de Excel en español estas funciones se llaman UNIRCADENAS (TEXTJOIN), DIVIDIRTEXTO (TEXTSPLIT), CONCAT (CONCAT) y CONCATENAR (el antiguo CONCATENATE). Las fórmulas de abajo usan los nombres en inglés; el comportamiento es idéntico.
Lo que aprenderás
- Por qué
ignorar_vacío—y no el separador— es el argumento que importa - El límite de 32 767 caracteres y el
#VALUE!que provoca - Cuándo
TEXTJOINgana aCONCAT,CONCATENARy el operador& - Cómo unir un resultado derramado (
FILTER,UNIQUE) en una sola celda - El truco del separador que casi nadie prueba: una matriz de separadores
El modelo mental: una pistola de pegamento con separador
El operador & y el viejo CONCATENAR pegan dos cosas a la vez, y tú tecleas el
separador a mano entre cada par. TEXTJOIN es una pistola de pegamento: la cargas
con un separador, apuntas a todo un rango y coloca el separador automáticamente
entre los valores —y solo entre ellos, nunca al final—. Esa única diferencia
explica por qué existe TEXTJOIN y por qué se lee mucho más limpio:
' La forma antigua — separador repetido a mano, se rompe con una celda vacía:
=A2 & "; " & A3 & "; " & A4 & "; " & A5
' TEXTJOIN — un separador, un rango:
=TEXTJOIN("; ", VERDADERO, A2:A5)
La regla que lo desbloquea todo: ignorar_vacío es el meollo
Esta es la queja número uno, «mi lista está llena de puntos y comas», y no es un
problema del separador: es el segundo argumento. ignorar_vacío decide qué
pasa con las celdas vacías:
' A3 y A5 están vacías:
=TEXTJOIN("; ", VERDADERO, A2:A6) ' -> "Ana; Ben; Carla" (vacíos saltados)
=TEXTJOIN("; ", FALSO, A2:A6) ' -> "Ana; ; Ben; ; Carla" (vacíos conservados)
VERDADERO es lo que quieres el 95 % de las veces: una lista limpia, sin
separadores dobles, sin punto y coma al principio ni al final. FALSO es la opción
más rara y deliberada —cuando cada posición debe alinearse con algo más (un registro
de ancho fijo, una plantilla donde el campo 3 sigue siendo el campo 3 aun vacío)—.
& y CONCATENAR se sienten tan frágiles porque no tienen equivalente de este
interruptor: cada celda vacía se vuelve un hueco visible que limpias después.
El límite que nadie menciona: 32 767 caracteres
Un resultado de TEXTJOIN vive en una celda, y una celda admite como mucho
32 767 caracteres. Une una columna larga y puedes pasarte de ese límite —entonces
Excel devuelve #VALUE!, no una cadena recortada—:
=TEXTJOIN(";", VERDADERO, A:A) ' -> #VALUE! si el texto unido supera 32 767 caracteres
Si lo alcanzas, casi siempre estás construyendo lo que no debes —una sola celda rara
vez es el sitio correcto para decenas de miles de caracteres—. Une un rango acotado
(A2:A500) o replantéate si el dato cabe en una única celda.
Unir una matriz derramada en una sola celda
Aquí es donde TEXTJOIN se gana su sitio en el Excel moderno. Las funciones de
matriz dinámica —FILTER,
UNIQUE, SORT—
derraman sus resultados por muchas celdas. A veces quieres lo contrario: plegar
ese derrame en una cadena legible (una celda de resumen, una línea «Para» de un
correo, una fila de CSV). TEXTJOIN toma una matriz directamente, así que las
anidas:
' El correo de cada cliente activo, sin duplicados, en una celda:
=TEXTJOIN("; ", VERDADERO, UNIQUE(FILTER(Email, Estado = "Activo")))
Sin rango de derrame que gestionar, sin columna auxiliar —las funciones internas
producen la matriz, TEXTJOIN la aplana—. El separador puede incluso ser una
matriz de separadores ({"; "; " y "}) si el último elemento debe unirse distinto:
un truco que casi ningún tutorial muestra.
El criterio: ¿TEXTJOIN, CONCAT o &?
Usa & solo para pegar dos o tres cosas conocidas (Nombre & " " & Apellido). En
cuanto unes un rango o una lista, la pregunta se reduce a: ¿necesitas un
separador o saltar vacíos? Si sí —y casi siempre lo es— usa TEXTJOIN. Recurre a
CONCAT solo cuando de verdad no quieras ningún
separador ni ningún salto de vacíos; en cuanto te ves añadiendo & o SUSTITUIR
para fingir un separador, querías TEXTJOIN desde el principio.
Cómo ayuda ExcelMaster
Mucho trabajo con TEXTJOIN es en realidad «convierte esta columna en una cadena
que pego en otro sitio»: los correos de todos los morosos, separados por punto y
coma. ExcelMaster escribe esa fórmula a partir de una petición en lenguaje
natural —con el interruptor ignorar_vacío y cualquier FILTER/UNIQUE que
alimente la unión— y coloca el resultado donde quieras. Tú describes la lista; él se
encarga de la unión.
Preguntas frecuentes
¿Cómo uno celdas con una coma en Excel?
Usa =TEXTJOIN(", "; VERDADERO; A2:A100). El primer argumento es el separador, el
segundo (VERDADERO) salta las celdas vacías y el tercero es el rango. La coma y el
espacio aparecen solo entre valores, nunca al final.
¿Cómo hago que TEXTJOIN ignore las celdas vacías?
Pon el segundo argumento en VERDADERO: =TEXTJOIN("; "; VERDADERO; rango). Con
FALSO, cada celda vacía se vuelve un hueco vacío y obtienes separadores dobles como
"a; ; b".
¿Por qué TEXTJOIN devuelve #VALUE!?
La causa más común es el límite de 32 767 caracteres —una celda no admite más, así que una unión de demasiados valores se desborda—. Une un rango más pequeño, o reconsidera si el dato debe vivir en una sola celda.
TEXTJOIN frente a CONCATENAR, ¿qué diferencia hay?
CONCATENAR (y &) pegan valores sin separador y sin forma de saltar vacíos, y
CONCATENAR no toma un rango entero —listas las celdas una a una—. TEXTJOIN toma
un rango o matriz, inserta un separador automáticamente y salta vacíos a petición.
Para listas, TEXTJOIN gana siempre.
¿Funciona TEXTJOIN en Excel 2016?
No. TEXTJOIN llegó con Excel 2019 y Excel 365. En 2016 vuelves a & o
CONCATENAR con separadores manuales.
Probado en
Probado en: Excel 365 (Windows 11) — última verificación 17-06-2026.
Guías relacionadas: Excel TEXTSPLIT · Excel CONCAT · Excel FILTER · VBA Concatenar
