Resumen —
CONCATes el reemplazo moderno deCONCATENAR. Lo único que hace que su predecesor no podía: tomar un rango entero de una vez,=CONCAT(A1:A10), en lugar de listar celdasA1; A2; A3; …a mano. Lo que no hace: insertar un separador o saltar vacíos —junta el texto y ya—. Sintaxis:=CONCAT(texto1; [texto2]; …). Si necesitas un separador o saltar vacíos, no remiendesCONCATcon&—salta directamente aTEXTJOIN—. Excel 365 y 2019+.
=CONCAT(A1:A10)
=CONCAT(A2, " — ", B2)
CONCATENAR existe desde hace décadas, y sigue funcionando —pero la propia
documentación de Microsoft lo llama una función «que se conserva por
compatibilidad», reemplazada por CONCAT—. La diferencia en el día a día es pequeña
pero real: CONCAT se traga un rango entero en una referencia, donde CONCATENAR te
hace señalar cada celda individualmente.
Nota: en una interfaz de Excel en español, CONCAT se llama CONCAT y el antiguo CONCATENATE se llama CONCATENAR. Relacionada: TEXTJOIN = UNIRCADENAS. Las fórmulas de abajo usan los nombres en inglés; el comportamiento es idéntico.
Lo que aprenderás
- La única mejora real sobre
CONCATENAR: rangos en vez de celda a celda - Por qué
CONCATENARes un vestigio que puedes dejar de escribir - Cómo
CONCATlee un rango 2D —fila por fila, lo que sorprende— - La trampa del formato (las fechas se vuelven números de serie, la moneda pierde su símbolo)
- Cuándo saltarte
CONCATpor completo y usarTEXTJOIN
El modelo mental: CONCATENAR que por fin toma un rango
CONCATENAR siempre fue algo absurdo: para unir diez celdas tecleabas
=CONCATENAR(A1; A2; A3; A4; A5; A6; A7; A8; A9; A10). CONCAT arregla justo eso
—acepta un rango, así que la misma unión es =CONCAT(A1:A10)—. Todo lo demás es
idéntico: ningún separador entre los valores, y las celdas vacías no aportan nada
visible (no hay nada que saltar —un vacío no añade caracteres—):
' Antiguo — cada celda listada a mano:
=CONCATENAR(A1; A2; A3; A4; A5)
' CONCAT — un rango:
=CONCAT(A1:A5)
La regla que lo desbloquea todo: sin separador, casi siempre querrás TEXTJOIN
Este es el criterio que la mayoría falla. CONCAT junta el texto con nada entre
los valores. En el instante en que quieres una coma, un espacio o un salto de línea
entre ellos —o saltar vacíos— estás más allá de para lo que sirve CONCAT. Uno
intenta atornillarle un separador:
=CONCAT(A2, ", ", B2, ", ", C2) ' va para unas pocas celdas, pero tecleas
' el separador a mano otra vez — el viejo dolor
…que es CONCATENAR con nombre nuevo. Si la respuesta implica un separador,
TEXTJOIN lo hace en un argumento
(=TEXTJOIN(", "; VERDADERO; A2:C2)) y además salta vacíos. Reserva CONCAT para el
caso genuino de «júntalos sin nada en medio» —construir un identificador a partir de
piezas, ensamblar un código, pegar un prefijo delante de un valor—.
Cómo lee CONCAT un rango 2D: fila por fila
Cuando le das a CONCAT un rango rectangular, el orden de lectura sorprende: va
fila por fila (de izquierda a derecha, de arriba abajo), no columna por columna:
' A1=a B1=b
' A2=c B2=d
=CONCAT(A1:B2) ' -> "abcd" (a, b, luego c, d — primero a lo ancho de cada fila)
Si esperabas "acbd", esa es la trampa. Donde el orden importe, deletrea la
secuencia de forma explícita en vez de fiarte del orden de lectura de un bloque.
La trampa del formato numérico
CONCAT une el valor subyacente, no lo que ves. Una fecha aparece como su número
de serie, la moneda pierde el € y los decimales, un porcentaje se vuelve una
fracción cruda:
=CONCAT("Vence: ", B2) ' -> "Vence: 46204" si B2 es una fecha
=CONCAT("Vence: ", TEXTO(B2, "dd/mm/aaaa")) ' -> "Vence: 17/06/2026"
Siempre que un número, fecha o valor de moneda entre en CONCAT (o TEXTJOIN, o
&), envuélvelo en TEXTO() con un formato explícito. Es la razón más común de que
la salida unida «se vea mal». Se aplica el mismo límite de 32 767 caracteres por
celda —un desbordamiento devuelve #VALUE!—.
El criterio: ¿CONCAT, CONCATENAR o TEXTJOIN?
Deja de escribir CONCATENAR en fórmulas nuevas —CONCAT hace todo lo que él hace y
toma rangos—. Entre los dos supervivientes: si quieres ningún separador, usa
CONCAT; en cuanto quieras un separador o saltar vacíos, usa TEXTJOIN. Esa es
toda la decisión. El error a evitar es echar mano de CONCAT y luego apuntalarlo con
& y SUSTITUIR para recrear lo que TEXTJOIN da gratis.
Cómo ayuda ExcelMaster
La mayoría de los encargos de «une esto» llevan reglas de formato ocultas: arma el
SKU a partir de la categoría, un guion y un número rellenado con ceros.
ExcelMaster elige la función correcta —CONCAT para pegado en bruto,
TEXTJOIN cuando hay un separador o un salto de vacíos de por medio—, envuelve
números y fechas en el formato TEXTO() correcto y escribe la fórmula a partir de tu
descripción. Tú dices cómo debe leerse la salida; él elige la mecánica.
Preguntas frecuentes
¿Cuál es la diferencia entre CONCAT y CONCATENAR?
CONCAT puede tomar un rango entero (=CONCAT(A1:A10)); CONCATENAR te hace listar
cada celda a mano. Por lo demás se comportan igual —sin separador, sin saltar
vacíos—. CONCATENAR solo se conserva por compatibilidad, así que usa CONCAT en
trabajo nuevo.
¿Cómo concateno un rango de celdas en Excel?
Usa =CONCAT(A1:A10). Si necesitas un separador entre los valores o saltar celdas
vacías, usa =TEXTJOIN("; "; VERDADERO; A1:A10) en su lugar —CONCAT no tiene
opción de separador—.
¿Cómo añado un separador con CONCAT?
Limpiamente no se puede —CONCAT junta los valores sin nada en medio—. Teclear el
separador a mano (=CONCAT(A2; ", "; B2)) va para dos celdas pero pierde el sentido.
Para una lista separada, usa TEXTJOIN.
¿Por qué CONCAT muestra una fecha como un número?
CONCAT une el valor subyacente, no el formato mostrado, así que una fecha aparece
como su número de serie. Envuélvela en TEXTO:
=CONCAT("Vence: "; TEXTO(B2; "dd/mm/aaaa")).
¿Funciona CONCAT en Excel 2016?
No. CONCAT llegó con Excel 2019 y 365. En 2016 vuelves a CONCATENAR o al operador
&.
Probado en
Probado en: Excel 365 (Windows 11) — última verificación 17-06-2026.
Guías relacionadas: Excel TEXTJOIN · Excel TEXTSPLIT · Excel FILTER · VBA Concatenar
