🚀The world's best VBA AI has evolved. ExcelMaster is now an autonomous Agent.Read more →
Back to Blog

Función CONCAT en Excel — El sucesor de CONCATENAR que se traga rangos enteros

|

Función CONCAT en Excel — El sucesor de CONCATENAR que se traga rangos enteros

ResumenCONCAT es el reemplazo moderno de CONCATENAR. Lo único que hace que su predecesor no podía: tomar un rango entero de una vez, =CONCAT(A1:A10), en lugar de listar celdas A1; 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 remiendes CONCAT con & —salta directamente a TEXTJOIN—. 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é CONCATENAR es un vestigio que puedes dejar de escribir
  • Cómo CONCAT lee 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 CONCAT por completo y usar TEXTJOIN

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