Texto

IZQUIERDA, DERECHA y EXTRAE en Excel: sacar parte de un texto

Toman un número fijo de caracteres del principio, del final o del centro de un texto.

Estas tres funciones hacen el mismo trabajo desde tres direcciones. IZQUIERDA toma caracteres del principio de un texto, DERECHA los toma del final y EXTRAE los toma desde la posición que elijas. Entre las tres trocean códigos de producto, sacan prefijos de números de teléfono y extraen el año de un número de referencia.

Las tres preguntan cuántos caracteres quieres, y ahí está su limitación: cuentan posiciones, no significado. IZQUIERDA(A2; 2) te da los dos primeros caracteres tanto si dos es la respuesta correcta para esa fila como si no. Funcionan de maravilla con datos de forma fija —NW-2024-001 siempre tiene el prefijo en los dos primeros caracteres— y mal con cualquier cosa irregular.

Para datos irregulares, combínalas con ENCONTRAR para localizar un separador y LARGO para medir la cadena. Esa combinación es la forma clásica de dividir texto antes de 2022, y es lo que DIVIDIRTEXTO, TEXTOANTES y TEXTODESPUES sustituyeron por algo legible.

Sintaxis

=IZQUIERDA(texto; [núm_de_caracteres])   =DERECHA(texto; [núm_de_caracteres])   =EXTRAE(texto; posición_inicial; núm_de_caracteres)

Argumentos

texto
Obligatorio
El texto del que se toman caracteres. Las tres comparten este argumento.
núm_de_caracteres
Opcional
Cuántos caracteres tomar. IZQUIERDA y DERECHA usan 1 si lo omites. Pedir más caracteres de los que hay devuelve la cadena entera en lugar de dar error.
posición_inicial
Obligatorio
Solo en EXTRAE: por qué carácter empezar, contando desde 1. EXTRAE(A2; 4; 4) empieza en el cuarto carácter.

Los datos de ejemplo

Encabezados en la fila 1, datos en A2:C5. Fíjate en los espacios sobrantes de A3 y A5.

ABC
1NombreCorreoCódigo
2Alicia Moreaualicia@northwind.comNW-2024-001
3 bruno santos bruno@southgate.co.ukSG-2024-014
4CHEN WEIchen@northwind.comNW-2023-207
5 Dana Okafordana@eastvale.orgEV-2024-092

Ejemplos resueltos

=IZQUIERDA(C2; 2)

Resultado: NW

Los dos primeros caracteres del código: el prefijo de la cuenta.

=DERECHA(C2; 3)

Resultado: 001

Los tres últimos caracteres, el número de secuencia. Fíjate en que sigue siendo texto, no un número.

=EXTRAE(C2; 4; 4)

Resultado: 2024

Cuatro caracteres a partir de la posición 4: el año, que está entre dos guiones.

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

Resultado: alicia

El caso irregular. ENCONTRAR localiza la arroba e IZQUIERDA toma todo lo anterior. El -1 es lo que evita que se cuele la propia arroba.

Ahora practícala

Leer sobre una fórmula no es lo mismo que escribirla. Abre el ejercicio de esta función y escríbela en una hoja real: recibirás comentarios inmediatos sobre qué celda está mal y por qué.

Abrir el ejercicio: Funciones IZQUIERDA, DERECHA y EXTRAE

Errores habituales y cómo resolverlos

#¡VALOR!

Por qué ocurre: núm_de_caracteres o posición_inicial es negativo, o EXTRAE recibió una posición menor que 1.

Cómo resolverlo: Suele venir de un ENCONTRAR que falló y devolvió #¡VALOR! dentro de la operación. Comprueba que el separador que buscas aparece de verdad.

EXTRAE devuelve vacío

Por qué ocurre: posición_inicial está más allá del final de la cadena, así que no hay nada que devolver.

Cómo resolverlo: Protégelo con LARGO: ejecuta el EXTRAE solo cuando LARGO(texto) sea suficiente.

El resultado parece un número pero no suma

Por qué ocurre: Las tres devuelven siempre texto. DERECHA(C2; 3) da los caracteres "001", no el número 1.

Cómo resolverlo: Envuélvelo en VALOR para convertirlo: =VALOR(DERECHA(C2; 3)).

Se cuelan espacios iniciales

Por qué ocurre: IZQUIERDA cuenta el espacio como un carácter, porque lo es.

Cómo resolverlo: Limpia primero: =IZQUIERDA(ESPACIOS(A3); 5).

Consejos que conviene saber

  • IZQUIERDA y DERECHA toman un solo carácter si omites el número, algo que a veces es lo que quieres y más a menudo es un error.
  • Pedir más caracteres de los que hay es seguro: obtienes la cadena entera, no un error.
  • =DERECHA(A2; LARGO(A2) - ENCONTRAR("@"; A2)) es el espejo del patrón IZQUIERDA+ENCONTRAR: toma todo lo que va después de un separador.
  • Si tu Excel tiene TEXTOANTES y TEXTODESPUES, úsalas: el mismo resultado y podrás releerlo dentro de seis meses.

Preguntas frecuentes

¿Cómo extraigo el texto anterior a un carácter concreto?

Usa IZQUIERDA con ENCONTRAR: =IZQUIERDA(A2; ENCONTRAR("@"; A2) - 1). ENCONTRAR devuelve la posición del carácter y el -1 lo excluye. En Microsoft 365, TEXTOANTES(A2; "@") hace lo mismo de forma mucho más legible.

¿Qué diferencia hay entre EXTRAE y DIVIDIRTEXTO?

EXTRAE toma un trozo en una posición fija que tienes que calcular tú. DIVIDIRTEXTO parte la cadena entera por un separador y devuelve todos los trozos a la vez. Si tus datos tienen un separador constante, DIVIDIRTEXTO casi siempre es la mejor herramienta.

¿Por qué el número que he extraído no suma?

IZQUIERDA, DERECHA y EXTRAE devuelven siempre texto, aunque todos los caracteres sean dígitos. Envuelve el resultado en VALOR() para convertirlo en un número real, o multiplícalo por 1.

Funciones relacionadas

Guías que la usan

Lecturas más largas donde esta función hace trabajo real en una hoja real.