Excel avanzado

Funciones de texto en Excel: IZQUIERDA, EXTRAE, CONCAT y compañía

Funciones de texto en Excel: IZQUIERDA, EXTRAE, CONCAT y compañía
En este artículo

Los datos nunca llegan bonitos

Le llega la base de clientes y la columna de nombres dice “PEREZ GOMEZ, JUAN CARLOS”. Los correos vienen con espacios al final. Los códigos de producto mezclan letras, números y guiones sin ningún orden aparente. ¿Le ha pasado? Claro que sí. A todo el mundo le pasa.

La tentación es arreglarlo a mano. Con 30 filas, pase. Con 3.000, ni se le ocurra: va a tardar toda la tarde y va a cometer errores. Para eso existen las funciones de texto: un ejército de fórmulas pequeñas que cortan, pegan, limpian y reorganizan texto automáticamente.

Hoy vamos con las esenciales. No todas las que existen —hay más de treinta—, sino las que de verdad se usan en el trabajo diario. Con ejemplos reales, no con “Texto1” y “Texto2”.

IZQUIERDA, DERECHA y EXTRAE: el bisturí del texto

Estas tres cortan pedazos de texto. Así de simple, así de poderosas.

=IZQUIERDA(A2;4) toma los primeros 4 caracteres desde la izquierda. Si A2 dice “BOG-2026-00451”, el resultado es “BOG-“. Útil para extraer prefijos: códigos de ciudad, tipo de documento, categoría.

=DERECHA(A2;5) hace lo mismo desde la derecha: los últimos 5 caracteres. Con “BOG-2026-00451” devuelve “00451”. Perfecto para consecutivos al final de un código.

=EXTRAE(A2;5;4) es la más flexible: empieza en la posición 5 y toma 4 caracteres. De “BOG-2026-00451” extrae “2026”. Tres argumentos: el texto, dónde empezar, cuántos tomar. Memorícela bien porque la va a usar muchísimo.

¿Un caso real? Una empresa de logística recibe guías con formato “MED-ENV-88342”. Necesitan separar ciudad, tipo y número en tres columnas. Tres fórmulas y listo:

=IZQUIERDA(A2;3)        → MED
=EXTRAE(A2;5;3)          → ENV
=DERECHA(A2;5)           → 88342

Cinco minutos de fórmulas contra dos horas de copiar y pegar. Usted decide.

LARGO, ENCONTRAR y HALLAR: medir y ubicar

Antes de cortar, a veces hay que medir. =LARGO(A2) cuenta los caracteres del texto, espacios incluidos. ¿Para qué sirve? Para validar, por ejemplo: si sus códigos siempre tienen 10 caracteres, =LARGO(A2)=10 le dice de una cuáles están incompletos. (Esto combina hermoso con la validación de datos, pero esa es otra historia.)

=ENCONTRAR("-";A2) le dice en qué posición aparece el primer guion. Si A2 es “BOG-2026-00451”, devuelve 4. ¿Y para qué quiero saber eso? Para cortar textos de longitud variable. Porque no todos los códigos tienen el mismo largo, ¿cierto? Ahí es donde ENCONTRAR brilla: combine con EXTRAE e IZQUIERDA para cortar donde aparezca un separador, sin importar la longitud.

Ejemplo clásico: separar nombre y apellido de “GARCÍA MARÍN, LUISA FERNANDA”. La coma está en posición… quién sabe, depende del nombre. Entonces:

=IZQUIERDA(A2;ENCONTRAR(",";A2)-1)   → GARCÍA MARÍN

El -1 es para no incluir la coma. Detalles así son los que hacen que una fórmula funcione o falle por un carácter. Bienvenido al mundo real de Excel.

¿Diferencia entre ENCONTRAR y HALLAR? ENCONTRAR distingue mayúsculas de minúsculas; HALLAR no. En la práctica, casi todo el mundo usa ENCONTRAR. HALLAR existe más por tradición que por necesidad, a mi juicio.

CONCAT, CONCATENAR y UNIRCADENAS: pegar pedazos

Si las anteriores cortan, estas pegan. =CONCATENAR(A2;" ";B2) une el contenido de A2, un espacio y B2. Nombre en A2, apellido en B2, nombre completo en C2. La fórmula más usada en recursos humanos, probablemente.

Pero ojo: CONCATENAR es la versión vieja. La moderna es CONCAT, que además acepta rangos completos: =CONCAT(A2:D2) une cuatro celdas de una vez. Menos escritura, mismo resultado.

Y luego está la joya: UNIRCADENAS (TEXTJOIN en inglés). Une un rango con un delimitador que usted elige, e ignora las celdas vacías si quiere:

=UNIRCADENAS(", ";VERDADERO;A2:A10)

Esto toma A2:A10, los une con coma y espacio, y salta los vacíos. ¿El caso de uso? Armar listas: “Bogotá, Medellín, Cali” a partir de una columna. O juntar etiquetas. Es una de esas funciones que, una vez que la conoce, se pregunta cómo vivía sin ella.

Un truco elegante: para crear un nombre completo en formato “Apellido, Nombre” desde columnas separadas: =CONCAT(B2;", ";A2). Simple, legible, efectivo.

ESPACIOS, LIMPIAR: la limpieza invisible

Este es el problema fantasma de las bases de datos: espacios que no se ven pero rompen todo. “Bogotá ” con un espacio al final no es igual a “Bogotá” para un BUSCARV. El resultado: #N/D misteriosos que lo vuelven loco media hora.

=ESPACIOS(A2) elimina los espacios al inicio y al final, y reduce los espacios múltiples intermedios a uno solo. ” Juan Carlos ” se convierte en “Juan Carlos”. Una función humilde que resuelve el 80% de los errores invisibles.

=LIMPIAR(A2) va más allá: quita los caracteres no imprimibles, esos bichos raros que se cuelan al copiar datos desde la web o desde otros sistemas (saltos de línea extraños, tabulaciones fantasma). Si sus datos vienen de internet, pase LIMPIAR antes de cualquier otra cosa. En serio.

Mi flujo de limpieza estándar cuando me llega una base sucia: primero LIMPIAR, después ESPACIOS, y recién ahí empiezo a cortar y pegar con las demás funciones. Es como lavar las verduras antes de cocinar: no es opcional.

MAYUSC, MINUSC, NOMPROPIO: el formato del texto

Tres funciones, un propósito: uniformar las mayúsculas.

  • =MAYUSC(A2) convierte todo a mayúsculas: “juan pérez” → “JUAN PÉREZ”.
  • =MINUSC(A2) convierte todo a minúsculas. Útil para correos electrónicos, que por convención van en minúsculas.
  • =NOMPROPIO(A2) pone mayúscula inicial en cada palabra: “juan carlos pérez gómez” → “Juan Carlos Pérez Gómez”.

NOMPROPIO es la favorita para arreglar bases de nombres. Pero cuidado con un detalle: no maneja bien los apellidos compuestos con “de”, “del”, “la” (“De La Rosa” queda “De La Rosa”, que está bien, pero “MACKENZIE” queda “Mackenzie”… bueno, eso sí está bien). El punto es: revísela con nombres reales antes de aplicarla a 10.000 filas. Ninguna función entiende de apellidos paisas mejor que un ojo humano.

Y un consejo de presentación: si va a mostrar cifras junto a estos textos, dele formato de moneda profesional a sus números. Texto limpio más números bien formateados: eso es un informe que se respeta.

SUSTITUIR y REEMPLAZAR: cambiar sin reescribir

=SUSTITUIR(A2;" ";"-") reemplaza todas las ocurrencias de un texto por otro. Espacios por guiones, por ejemplo, para crear slugs o códigos URL amigables: “Camiseta Algodón Azul” → “Camiseta-Algodón-Azul”. También sirve para quitar caracteres molestos: =SUSTITUIR(A2;".";"") elimina los puntos de “1.234.567”.

¿La diferencia con REEMPLAZAR? SUSTITUIR trabaja con el contenido (“cambia este texto por este otro”); REEMPLAZAR trabaja con posiciones (“cambia desde la posición 3, 2 caracteres, por esto”). En la práctica, SUSTITUIR se usa el 95% de las veces. REEMPLAZAR es para casos quirúrgicos donde usted sabe exactamente dónde está lo que quiere cambiar.

Caso real bonito: normalizar teléfonos. Le llegan como “(604) 444-1234”, “6044441234”, “+57 604 444 1234”. Con SUSTITUIR anidados puede quitar paréntesis, espacios, guiones y el indicativo hasta dejar solo los dígitos:

=SUSTITUIR(SUSTITUIR(SUSTITUIR(A2;" ";"");"-";"");"(";"")

Se ve feo, lo sé. Pero funciona. Y una vez que lo tiene, lo copia hacia abajo y los 2.000 teléfonos quedan uniformes. La belleza está en el resultado, no en la fórmula.

Combinaciones que resuelven casos de la vida real

Las funciones de texto rara vez trabajan solas. Su verdadero poder aparece cuando se combinan. Tres recetas probadas:

Extraer el dominio de un correo. De “maria.gomez@empresa.com.co” queremos “empresa.com.co”:

=EXTRAE(A2;ENCONTRAR("@";A2)+1;LARGO(A2))

Busca la arroba, empieza un carácter después, y toma hasta el final. Funciona con cualquier correo, sin importar el largo.

Primer nombre de un nombre completo. De “Juan Carlos Pérez Gómez” queremos “Juan Carlos”:

=IZQUIERDA(A2;ENCONTRAR(",";A2)-1)

Bueno, ese era con coma. Sin coma, para tomar solo hasta el segundo espacio, la fórmula se complica un poco más. ¿Ve por qué insisto en pedir los datos bien separados desde el origen? Si puede, valide los datos desde la captura y se ahorra estas cirugías.

Código limpio y uniforme. Quitar espacios, pasar a mayúsculas y validar largo, todo en una columna auxiliar:

=MAYUSC(ESPACIOS(LIMPIAR(A2)))

Tres funciones anidadas, un dato impecable. Esta es mi fórmula de cabecera para normalizar cualquier columna de códigos.

Errores típicos (y cómo no cometerlos)

Olvidar que EXTRAE cuenta desde 1, no desde 0. Si viene de programar, esto le va a doler una vez. En Excel, la primera posición es 1. =EXTRAE("Hola";1;1) devuelve “H”, no “o”. Anótelo.

Confundir el separador de argumentos. En Excel en español, los argumentos se separan con punto y coma (;), no con coma. Si copia una fórmula de un tutorial en inglés, cámbielas todas. Es el error número uno de quienes aprenden con videos gringos.

Dejar las fórmulas en lugar de pegar valores. Una vez que limpió su columna con fórmulas, seleccione la columna, cópiela y use Pegado especial > Valores sobre sí misma. Así reemplaza las fórmulas por el texto limpio. Si no lo hace, el día que borre la columna original, todo se rompe en #¡REF!.

La documentación oficial de Microsoft tiene la referencia completa de funciones de texto en Excel con la sintaxis exacta de cada una. Guárdela en favoritos: es el diccionario al que va a volver.

Y una última cosa: estas funciones no son solo de Excel. Casi todas existen igual en Google Sheets, así que lo aprendido hoy viaja con usted. De hecho, si quiere verlas en acción en un caso completo, el BUSCARV explicado con un ejemplo de la vida real muestra cómo el texto limpio es la mitad del éxito en cualquier búsqueda. Porque al final, las fórmulas más avanzadas del mundo no sirven de nada si los datos de entrada son un desastre. Primero se limpia, después se calcula. Siempre.

¿Te sirvió? Compártelo con quien lo necesite:

Mariana Torres

Redactora en TrucosSheets. Disfruta convertir funciones enredadas en pasos claros que cualquiera puede seguir.