Funciones de texto de Excel: guía completa de IZQUIERDA, EXTRAE, DERECHA, LARGO, ESPACIOS, SUSTITUIR y más

Por el equipo editorial de LogicExcelActualizado en junio de 20269 min de lectura1,709 palabras

Las funciones de texto de Excel te permiten extraer, limpiar, combinar y transformar datos de texto sin editarlos a mano. Tanto si estás separando el nombre de una columna de nombre completo, quitando espacios sobrantes de unos datos importados o reformateando códigos, estas son las herramientas.

> Los textos de ejemplo se mantienen en inglés cuando la lección depende de contar caracteres o de en qué posición está cada uno: traducirlos cambiaría los resultados que se indican.

IZQUIERDA: extraer caracteres por la izquierda

IZQUIERDA devuelve un número determinado de caracteres del principio (la izquierda) de una cadena de texto. Sintaxis: =IZQUIERDA(texto; núm_de_caracteres) Ejemplo:
  • =IZQUIERDA("Hello World"; 5) devuelve "Hello"
  • =IZQUIERDA(A1; 3) devuelve los 3 primeros caracteres de lo que haya en A1
Uso práctico: extraer el prefijo de un teléfono guardado como texto. Si A1 contiene "212-555-0100", =IZQUIERDA(A1; 3) devuelve "212".

DERECHA: extraer caracteres por la derecha

DERECHA devuelve un número determinado de caracteres del final (la derecha) de una cadena de texto. Sintaxis: =DERECHA(texto; núm_de_caracteres) Ejemplo:
  • =DERECHA("ABC-12345"; 5) devuelve "12345"
  • =DERECHA(A1; 4) devuelve los 4 últimos caracteres
Uso práctico: extraer la extensión de un archivo. =DERECHA(A1; 3) sobre "informe.pdf" devuelve "pdf". Para extensiones de longitud variable, combínala con ENCONTRAR: =DERECHA(A1; LARGO(A1) - ENCONTRAR("."; A1)).

EXTRAE: extraer caracteres del medio

EXTRAE devuelve una subcadena del interior de un texto, empezando en la posición que le indiques. Sintaxis: =EXTRAE(texto; posición_inicial; núm_de_caracteres)
  • posición_inicial: el carácter por el que empezar (1 = el primero)
  • núm_de_caracteres: cuántos caracteres devolver
Ejemplo:
  • =EXTRAE("Hello World"; 7; 5) devuelve "World" (empieza en la posición 7 y toma 5 caracteres)
  • =EXTRAE("2024-06-15"; 6; 2) devuelve "06" (el mes)
Uso práctico: extraer la parte central de un código de producto. Si A1 es "AB-1234-XY", =EXTRAE(A1; 4; 4) devuelve "1234".

LARGO: contar caracteres

LARGO devuelve el número total de caracteres de una cadena de texto, espacios incluidos. Sintaxis: =LARGO(texto) Ejemplo:
  • =LARGO("Hello") devuelve 5
  • =LARGO("Hello World") devuelve 11 (el espacio cuenta)
  • =LARGO(A1) cuenta los caracteres de A1
Uso práctico: comprobar que las entradas tienen la longitud correcta. =SI(LARGO(A1)<>10; "Longitud incorrecta"; "Correcto") marca las entradas de A1 que no tengan exactamente 10 caracteres. También se usa con EXTRAE y DERECHA para manejar cadenas de longitud variable.

ESPACIOS: quitar los espacios sobrantes

ESPACIOS elimina los espacios del principio y del final de un texto, y reduce a uno solo los espacios consecutivos entre palabras. Sintaxis: =ESPACIOS(texto) Ejemplo:
  • =ESPACIOS(" Hello World ") devuelve "Hello World"
Por qué importa: los datos importados de otros sistemas suelen traer espacios invisibles al principio o al final. Esos espacios hacen fallar las búsquedas: BUSCARV o COINCIDIR no encontrarán "Manzana " (con un espacio al final) cuando busquen "Manzana". Aplica siempre ESPACIOS al texto importado antes de usarlo en una búsqueda. ESPACIOS no elimina los espacios de no separación (código de carácter 160). Para quitarlos, usa =ESPACIOS(SUSTITUIR(A1; CARACTER(160); " ")).

MAYUSC, MINUSC y NOMPROPIO: cambiar mayúsculas y minúsculas

Estas tres funciones cambian cómo está escrito un texto.

Sintaxis:
  • =MAYUSC(texto): convierte todos los caracteres a mayúsculas
  • =MINUSC(texto): convierte todos los caracteres a minúsculas
  • =NOMPROPIO(texto): pone en mayúscula la primera letra de cada palabra
Ejemplos:
  • =MAYUSC("hello world") devuelve "HELLO WORLD"
  • =MINUSC("JOHN SMITH") devuelve "john smith"
  • =NOMPROPIO("john smith") devuelve "John Smith"
Uso práctico: normalizar nombres o códigos antes de compararlos. NOMPROPIO viene bien para arreglar nombres importados todo en mayúsculas, pero ojo: también pone mayúscula después de un apóstrofo, así que "O'BRIEN" se convierte correctamente en "O'Brien", pero "IT'S" se convierte en "It'S".

SUSTITUIR: reemplazar texto

SUSTITUIR reemplaza todas las apariciones de un texto dentro de una cadena más larga. Sintaxis: =SUSTITUIR(texto; texto_original; texto_nuevo; [núm_de_ocurrencia])
  • núm_de_ocurrencia: opcional. Si lo indicas, solo se reemplaza esa aparición (1 = la primera, 2 = la segunda, etc.). Si lo omites, se reemplazan todas.
Ejemplos:
  • =SUSTITUIR("Hello World"; "World"; "Excel") devuelve "Hello Excel"
  • =SUSTITUIR("aaa"; "a"; "b") devuelve "bbb"
  • =SUSTITUIR("a-b-c"; "-"; ""; 2) devuelve "a-bc" (quita solo el segundo guion)
Uso práctico: eliminar caracteres que sobran. =SUSTITUIR(A1; " "; "") quita todos los espacios. =SUSTITUIR(A1; "$"; "") quita los símbolos de dólar antes de convertir el texto en número.

REEMPLAZAR: reemplazar por posición

REEMPLAZAR cambia los caracteres que ocupan una posición determinada, sea cual sea su contenido. Úsala cuando sepas en qué punto de la cadena hay que hacer el cambio, no cuál es el texto. Sintaxis: =REEMPLAZAR(texto_original; posición_inicial; núm_de_caracteres; texto_nuevo) Ejemplo:
  • =REEMPLAZAR("ABC-12345"; 4; 1; "/") devuelve "ABC/12345" (cambia el guion de la posición 4 por una barra)
  • =REEMPLAZAR(A1; 1; 3; "XYZ") cambia los 3 primeros caracteres por "XYZ"
SUSTITUIR frente a REEMPLAZAR:
  • Usa SUSTITUIR cuando sabes qué texto hay que cambiar: SUSTITUIR(A1; "viejo"; "nuevo")
  • Usa REEMPLAZAR cuando sabes en qué posición está: REEMPLAZAR(A1; 5; 3; "nuevo")

ENCONTRAR: localizar una posición (distingue mayúsculas)

ENCONTRAR devuelve la posición de una subcadena dentro de un texto más largo. Distingue mayúsculas de minúsculas. Sintaxis: =ENCONTRAR(texto_buscado; dentro_del_texto; [posición_inicial])
  • posición_inicial: opcional, la posición desde la que empezar a buscar (por defecto, 1)
Ejemplos:
  • =ENCONTRAR("l"; "Hello") devuelve 3 (la posición de la primera "l")
  • =ENCONTRAR("L"; "Hello") devuelve #¡VALOR!, porque la L mayúscula no aparece y ENCONTRAR distingue mayúsculas
  • =ENCONTRAR("@"; "user@example.com") devuelve 5
Uso práctico: ENCONTRAR se anida a menudo dentro de IZQUIERDA o EXTRAE para extraer el texto que hay hasta un separador. Para quedarte con todo lo anterior a la "@" de un correo: =IZQUIERDA(A1; ENCONTRAR("@"; A1) - 1).

HALLAR: localizar una posición (sin distinguir mayúsculas)

HALLAR funciona igual que ENCONTRAR, pero no distingue mayúsculas de minúsculas. Además admite comodines (* y ?). Sintaxis: =HALLAR(texto_buscado; dentro_del_texto; [posición_inicial]) Ejemplos:
  • =HALLAR("hello"; "Hello World") devuelve 1 (lo encuentra pese a la diferencia de mayúsculas)
  • =HALLAR("h?llo"; "Hello") devuelve 1 (el comodín cubre cualquier carácter suelto)
Usa HALLAR cuando quieras buscar sin distinguir mayúsculas o cuando necesites comodines.

CONCAT y UNIRCADENAS: combinar texto

CONCAT

CONCAT une varias cadenas de texto o rangos en una sola. Sintaxis: =CONCAT(texto1; texto2; ...) Ejemplo:
  • =CONCAT(A1; " "; B1) une el nombre, un espacio y el apellido
  • =CONCAT(A1:A5) une todos los valores de A1:A5 sin separador

UNIRCADENAS

UNIRCADENAS une valores con un separador y, si quieres, salta las celdas vacías. Sintaxis: =UNIRCADENAS(delimitador; ignorar_vacías; texto1; texto2; ...) Ejemplos:
  • =UNIRCADENAS(", "; VERDADERO; A1:A5) une A1:A5 con comas y se salta las celdas vacías
  • =UNIRCADENAS("-"; FALSO; "2024"; "06"; "15") devuelve "2024-06-15"
UNIRCADENAS es más flexible que CONCAT cuando necesitas separadores o quieres tratar bien las celdas en blanco.

TEXTO: convertir números en texto con formato

TEXTO convierte un número o una fecha en una cadena de texto con un formato concreto. Es la forma de mostrar números dentro de frases o concatenaciones. Sintaxis: =TEXTO(valor; formato) Ejemplos:
  • =TEXTO(1234,5; "#.##0,00 $") devuelve "1.234,50 $"
  • =TEXTO(HOY(); "D 'de' MMMM 'de' AAAA") devuelve "16 de abril de 2026"
  • =TEXTO(0,856; "0 %") devuelve "86 %"
  • =TEXTO(A1; "000000") rellena un número con ceros a la izquierda hasta 6 dígitos
Uso práctico: construir textos dinámicos con números bien formateados:
="Los ingresos fueron " & TEXTO(A1; "#.##0 $") & " en el T" & B1
Devuelve: "Los ingresos fueron 1.234.500 $ en el T3"

Sin TEXTO, el número aparecería sin formato dentro de la cadena.


Combinar funciones: ejemplos reales

Extraer el nombre de pila de un nombre completo

Nombre completo en A1, separado por un espacio (por ejemplo, "John Smith"):

=IZQUIERDA(A1; ENCONTRAR(" "; A1) - 1)

ENCONTRAR localiza el espacio. IZQUIERDA se queda con todo lo anterior.

Extraer el apellido de un nombre completo

=DERECHA(A1; LARGO(A1) - ENCONTRAR(" "; A1))

ENCONTRAR da la posición del espacio. LARGO da la longitud total. La resta da cuántos caracteres hay después del espacio, y DERECHA los extrae.

Si los nombres llevan segundo nombre o varios espacios, hace falta una fórmula más elaborada con SUSTITUIR y ENCONTRAR para localizar el último espacio.

Extraer el dominio de una dirección de correo

Correo en A1 (por ejemplo, "user@example.com"):

=DERECHA(A1; LARGO(A1) - ENCONTRAR("@"; A1))

ENCONTRAR localiza la "@". LARGO menos esa posición da cuántos caracteres vienen después. DERECHA los extrae: "example.com".

Extraer el usuario de un correo

=IZQUIERDA(A1; ENCONTRAR("@"; A1) - 1)

Devuelve todo lo anterior a la "@": "user".

Limpiar datos importados (ESPACIOS + NOMPROPIO)

=NOMPROPIO(ESPACIOS(A1))

Quita los espacios sobrantes y pone los nombres bien escritos de una sola pasada.

Quitar los caracteres no numéricos de un teléfono

=SUSTITUIR(SUSTITUIR(SUSTITUIR(SUSTITUIR(A1;"(";"");")";"");"-";"");" ";"")

Las llamadas anidadas a SUSTITUIR quitan paréntesis, guiones y espacios, y dejan solo los dígitos.


Preguntas frecuentes

¿Cuál es la diferencia entre ENCONTRAR y HALLAR?

Las dos devuelven la posición de una subcadena. ENCONTRAR distingue mayúsculas: ENCONTRAR("a"; "Apple") devuelve #¡VALOR! porque no hay ninguna "a" minúscula. HALLAR no las distingue: HALLAR("a"; "Apple") devuelve 1. HALLAR además admite comodines (* para cualquier secuencia de caracteres, ? para un carácter suelto). Para la mayoría de las búsquedas, HALLAR es más permisiva.

¿Por qué ESPACIOS no quita todos los espacios?

ESPACIOS elimina los espacios normales (ASCII 32) y reduce a uno los espacios interiores. No elimina los espacios de no separación (carácter 160), que aparecen a menudo en datos copiados de páginas web. Usa =SUSTITUIR(ESPACIOS(A1); CARACTER(160); " ") para tratar los dos tipos, o =LIMPIAR(ESPACIOS(A1)) para quitar además los caracteres no imprimibles.

¿Cómo cuento las palabras de una celda?

Cuenta los espacios y suma uno: =LARGO(ESPACIOS(A1)) - LARGO(SUSTITUIR(ESPACIOS(A1); " "; "")) + 1. Aplica ESPACIOS primero para normalizar el espaciado y después cuenta cuántos espacios quedan.

¿Puedo extraer el texto que hay entre dos caracteres?

Sí, con EXTRAE y ENCONTRAR. Para extraer el texto entre paréntesis de "Resultado (Bueno)":

=EXTRAE(A1; ENCONTRAR("("; A1)+1; ENCONTRAR(")"; A1)-ENCONTRAR("("; A1)-1)

Devuelve "Bueno".

¿Cómo compruebo si una celda contiene un texto concreto?

Usa HALLAR o ENCONTRAR envuelta en ESNUMERO: =ESNUMERO(HALLAR("manzana"; A1)) devuelve VERDADERO si A1 contiene "manzana" (sin distinguir mayúsculas). Úsalo dentro de un SI: =SI(ESNUMERO(HALLAR("manzana"; A1)); "Contiene manzana"; "No").

¿Cuál es la longitud máxima de texto que admite una celda de Excel?

Una celda admite hasta 32.767 caracteres, pero solo se muestran los 1.024 primeros. Los 32.767 se guardan igualmente y las funciones de texto pueden trabajar con todos ellos.

Sigue adelante

Te indica qué leer a continuación.