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.
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:
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:
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:
- 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.
- 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.
- 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:
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:
- En una celda en blanco escribe =A1:A12
- NO PULSES ENTER todavía
- Pulsa F9. Esto sustituye una fórmula por su valor.
- Pulsa enter
- Pulsa Ctrl+B, selecciona la pestaña Reemplazar, y sustituye las , por ;
- Vuelve a editar la celda y escribe al inicio =CONCATENAR(
- 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:
Si lo ves en la misma línea, probablemente es porque no tienes activada la opción “Activar texto”. Se hace aquí:
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:
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: