Concatenar texto. La guía completa.

CONCATENAR. Lo básico.

La funcionalidad de unir textos en diferentes celdas o textos fijos con los valores cambiantes de celdas es algo de lo que se ha hablado mucho cuando se tocan temas relacionados con Excel. En ExcelyVBA se ha explicado el funcionamiento de la función CONCATENAR y se han expuesto trucos para unir muchas celdas de manera rápida. En esta entrada unificaremos todas las maneras de unir texto (incluyendo algunas introducidas en Excel 2016) y comentaremos algunos trucos más, tanto utilizando funciones como Visual Basic para Aplicaciones.

Hay dos maneras básicas de concatenar texto: la función CONCATENAR y el operador &. Ambas maneras funcionan exactamente igual, salvo por que el operador & es más sencillo de utilizar y algunos detalles más con mínima importancia.

La sintaxis de CONCATENAR es la siguiente:

=CONCATENAR(arg1;[arg2];...;[arg255])

Los argumentos se convierten a texto y se unen uno detrás de otro. El límite es 255 elementos a unir, y un máximo de 8.192 caracteres para el resultado.

La fórmula anterior es exactamente igual que escribir:

=arg1 & arg2 & ... & arg255

Cada argumento puede ser cualquier cosa, un texto, un número, una función, una referencia a una celda. Sea lo que sea, Excel lo convertirá a texto y lo unirá. Por ejemplo:

=CONCATENAR(A1; "texto 2"; BUSCARV(A2;tabla1;3) )
=A1 & "texto 2" & BUSCARV(A2;tabla1;3)

Si queremos añadir un elemento conector (por ejemplo, un espacio entre las palabras), tendremos que añadirlo manualmente:

=CONCATENAR(A1; " " ; A2 ; " " ; A3)

Hasta aquí, todo esto se puede encontrar en cualquier lugar de internet. Vamos a empezar con lo novedoso.

Nuevas versiones

Tanto la función CONCATENAR como el símbolo & tienen una limitación importante. No admiten rangos de celdas como argumento. Si hacemos lo que aparece en la siguiente imagen, Excel nos tirará un error #N/A.

CONCATENAR no admite rangos
CONCATENAR no admite rangos

Curiosamente, en el ejemplo anterior, si colocamos nuestra función CONCATENAR en cualquiera de las 12 filas en las que hay datos, el resultado no será un error #N/A, sino el valor que haya en la misma fila. Por ejemplo:

Errores ocultos de CONCATENAR utilizando rangos
Errores ocultos de CONCATENAR utilizando rangos

Esto conviene tenerlo en cuenta porque Excel no nos avisará del error, pero nos dará un resultado que no es el que esperamos. Si invertimos la matriz, se da el mismo resultado cambiando filas por columnas.

Pero los chicos de Microsoft se han dado cuenta del problema, y han desarrollado un par de funciones que nos pueden servir. Eso sí, necesitaremos tener una suscripción a Office 365 o Excel 2016 instalado en nuestro equipo. Estas funciones son CONCAT y UNIRCADENAS.

Función CONCAT

Si utilizas una de las últimas versiones de Excel (móvil, online o 2016), ya no querrás utilizar CONCATENAR. En su lugar utilizarás CONCAT. La primera se mantiene por compatibilidad, pero no tiene sentido utilizarla, pues la segunda hace lo mismo y más. La principal diferencia entre ambas funciones es que CONCAT sí admite rangos de celdas. Usando el mismo ejemplo de la última imagen, tendremos lo siguiente:

Ejemplo de uso de CONCAT
Ejemplo de uso de CONCAT

Vemos que separa las letras con un espacio porque en los datos que he puesto en la columna A hay un espacio al final de cada palabra. Pero… ¡FUNCIONA! Esto añade mucha potencia a la función, sobre todo cuando tienes muchas filas o columnas con datos para fusionar. Pero imaginemos que los datos se han generado automáticamente, y no podemos añadir un espacio al final de cada palabra. Pues ahí llega en nuestra ayuda la función UNIRCADENAS.

Función UNIRCADENAS

Esta es otra función que no existe en versiones previas de Excel. Como CONCAT, solo está disponible a partir de Office365 (móvil y escritorio) y Excel 2016. Esta función admite dos parámetros iniciales, y después un máximo de 252 argumentos más. Los dos parámetros iniciales son los que hacen la magia:

 

=UNIRCADENAS(delimitador; ignorar_vacío; Texto1; [Texto2];...;[Texto252])

Veamos para qué sirve cada cosa:

  1. delimitador: es un carácter o cadena de caracteres que se inserta entre cada dos textos a unir. Si no queremos poner ningún elemento de unión, deberemos indicar una cadena vacía utilizando dos comillas seguidas (“”). Si se introduce un número, se tratará como si fuera texto.
  2. ignorar_vacío: admite los valores VERDADERO o FALSO. Si es falso, en el caso de haber alguna celda vacía, pondrá dos caracteres delimitadores juntos. En ocasiones nos puede interesar, pero la mayoría de las veces necesitaremos poner únicamente un delimitador, por lo que marcaremos verdadero.
  3. Texto: a partir del tercer argumento, admite exactamente lo mismo que la función CONCAT, es decir, texto, referencias a celdas, referencias a rangos, funciones, etc. Es obligatorio el primer texto. El resto son opcionales.

El límite de esta función es que no podrá dar un resultado con más de 32.767 caracteres. Si fuera así, lanzará un error #VALOR.

Es importante resaltar que UNIRCADENAS admite rangos que no tienen por qué estar en una fila o en una columna. Por ejemplo:

Más flexibilidad con UNIRCADENAS
Más flexibilidad con UNIRCADENAS

Hasta aquí las novedades. ¿Empezamos con lo divertido?

Un poco de diversión

Utilizar rangos de celdas… a mano

Partamos de que no tenemos Excel 2016 y no tenemos acceso a UNIRCADENAS. Pero tenemos una columna de datos que queremos unir. ¿Cómo podemos hacer?

Pues existe un truco bastante interesante utilizando CONCATENAR y TRANSPONER. Imaginemos que tenemos los datos en las celdas A1 a A12. Sigue los siguientes pasos:

  1. En una celda en blanco escribe =A1:A12
  2. NO PULSES ENTER todavía
  3. Pulsa F9. Esto sustituye una fórmula por su valor.
  4. Pulsa enter
  5. Pulsa Ctrl+B, selecciona la pestaña Reemplazar, y sustituye las , por ;
  6. Vuelve a editar la celda y escribe al inicio =CONCATENAR(
  7. No olvides cerrar el paréntesis al final y eliminar las llaves { y }

El método admite cualquier rango de celdas. Si hay más de una fila, leerá primero la primera fila de izquierda a derecha, y luego las siguientes de arriba hacia abajo.

Si quieres utilizar un delimitador (por ejemplo, separar por comas) en el paso 1 puedes escribir =A1:A12 & “, “

Y si queremos saltos de línea o caracteres especiales

Si quieres unir textos separados por saltos de línea, simplemente utiliza la función CARACTER(10). Por ejemplo:

Concatenar utilizando salto de línea
Concatenar utilizando salto de línea

Si lo ves en la misma línea, probablemente es porque no tienes activada la opción “Activar texto”. Se hace aquí:

Configuración para mostrar salto de línea
Configuración para mostrar salto de línea

Si tienes un Mac, utiliza CARACTER(13) en lugar de CARACTER(10)

Si quieres unir unas comillas dobles, puedes utilizar CARACTER(34)

Queremos utilizar formatos de texto

Con las funciones CONCATENAR, CONCAT y UNIRCADENAS se puede utilizar cualquier formato de texto de los que asignamos a las celdas. Se hace con la función TEXTO, utilizando sus parámetros adecuadamente. Esto es especialmente útil si quieres unir texto con fechas, pues Excel te uniría el texto con un número que representa la fecha, así:

=CONCATENAR("Hoy es ";HOY())
Hoy es 42868

Utilizando formatos de texto conseguimos nuestro objetivo:

Concatenar con formatos de texto
Concatenar con formatos de texto

Conclusión

En esta entrada hemos visto cómo se pueden unir textos en Excel. Tanto en las versiones anteriores como en las versiones más modernas. Hemos visto el uso del operador &, y las funciones CONCATENAR, CONCAT y UNIRCADENAS.

Y finalmente hemos mostrado algunos trucos útiles relacionados con la unión de cadenas de texto.

Solo me queda decir que ¡Adelante! Juega con Excel. Prueba variantes de lo que hemos hecho aquí.

Para ampliar información:

(Visited 33.717 times, 1 visits today)

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información ACEPTAR

Aviso de cookies