En realidad, Excel tiene sólo un operador de concatenación, el operador “&”. Pero hay alternativas a este operador y, sobre todo, hay maneras de hacer concatenaciones inteligentes muy útiles usando condiciones. Estos son los casos de concatenaciones realmente interesantes.
Cuando digo “concatenaciones más inteligentes” me refiero a concatenaciones que no sean simplemente encadenar unos textos o valores de celdas sin más, sino hacerlo de maneras diferentes, dependiendo de ciertas condiciones.
¿Qué encontrarás aquí?
Veámoslo:
El operador de concatenación “&”
Usar el operador de concatenación de Excel no tiene ningún misterio.
Por ejemplo, la siguiente fórmula:
="texto, "&100&" y otro texto"
Visualizaría el texto “texto, 100 y otro texto”.
Como puedes ver el operador “&” sirve para “empalmar” los valores a encadenar. Si un valor es de tipo texto, fecha, etc. es importante que uses comillas dobles como las del ejemplo de arriba.
En el caso de números no es necesario poner las comillas, como puedes ver, en el ejemplo no se hace, pero yo te recomendaría hacerlo igualmente ya que hace más clara la concatenación.
Y esto es todo, usar el operador “&” no tiene más.
Funciones de concatenación
El uso del operador “&”, cuando son muchas partes a unir, puede llevar a fórmulas poco legibles. En este caso, te pueden plantear usa la función CONCAT.
La sintaxis de CONCAT es la siguiente:
CONCAT([texto 1],[texto 2],…)
El primer parámetro, [texto 1], es obligatorio. [texto 2] es el primero de hasta 254 parámetros adicionales opcionales más que se van concatenando.
Por ejemplo:
=CONCAT("María gana ";2000;"€";" al mes.")
Esta fórmula devuelve la cadena “María gana 2000€ al mes.”.
Usar el operador de concatenación o esta función ya es una cuestión de gustos personales. En mi caso, me resulta más legible usar la función. Para concatenaciones simples uso el operador, pero en las complejas uso la función.
Por último, es importante que sepas que existe también la función CONCATENAR. Es la misma función, pero una versión más antigua que sólo se mantiene por compatibilidad y que Microsoft recomienda no usar.
Hacer concatenaciones condicionadas en Excel
Como te decía, lo interesante empieza cuando podemos usar condiciones. Éstas se pueden crear con las funciones lógicas de Excel:
Como con estas funciones podemos devolver diferentes valores, según el resultado de evaluar una o varias condiciones, que pueden ser muy sencillas o muy complejas si es necesario, estos resultados se pueden usar para generar diferentes cadenas.
Tomemos, por ejemplo, esta fórmula:
=SI(A1<18;"menor de edad";"mayor de edad")
Esta función devolverá la primera cadena si se cumple y la segunda si no. Podemos combinarla fácilmente para crear una frase:
="El alumno es "&SI(A1<18;"menor de edad";"mayor de edad")
Dependiendo del valor de A1, la frase será “El alumno es menor de edad” o “El alumno es mayor de edad”.
Creo que, aunque es un ejemplo muy trivial, te permite vislumbrar la potencia de esto. Aquí estamos entrando en un terreno que empieza a parecerse a programar con un lenguaje de programación, a un nivel muy primitivo, pero es básicamente eso.
Ejemplos prácticos de concatenaciones en Excel
Vemos dos ejemplos prácticos más. En el primer ejemplo, tenemos una fuente de datos con nombres de personas que viene separado en nombre y apellidos. Necesitamos fundirlo las partes en un único texto.
Como puedes ver arriba, esto lo resolvemos fácilmente con la manera más simple de crear concatenaciones, no necesitamos condiciones, nos basta con esta fórmula:
=A2&" "&B2&" "&C2
El siguiente ejemplo ya es un poco más sofisticado. Aquí queremos generar una frase que se adapte correctamente al género de la persona.
Para esto necesitamos saber el género (columna E) y la función SI que vimos arriba para añadir o no la letra “a” a la palabra “profesor”:
Como puedes ver arriba, lo resolvemos con la siguiente fórmula:
=A2&" "&B2&" "&C2&" es profesor"&SI(E1="Mujer";"a";"")&" de "&D2&"º de primaria"
La fórmula puede parecer intimidante a primera vista, pero si te tomas un minuto para analízala celda por celda, verás que no es nada complicada, simplemente un poco larga.
Lo mismo, con una función sería lo siguiente:
=CONCAT(A2;" ";B2;" ";C2;" es profesor";SI(E1="Mujer";"a";"");" de ";D2;"º de primaria")
Personalmente me gusta más esta versión con la función, pero, como decíamos, esto ya una cuestión de cada de cada usuario.