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.
=IZQUIERDA(texto; [núm_de_caracteres]) =DERECHA(texto; [núm_de_caracteres]) =EXTRAE(texto; posición_inicial; núm_de_caracteres)textonúm_de_caracteresposición_inicialEncabezados en la fila 1, datos en A2:C5. Fíjate en los espacios sobrantes de A3 y A5.
| A | B | C | |
|---|---|---|---|
| 1 | Nombre | Correo | Código |
| 2 | Alicia Moreau | alicia@northwind.com | NW-2024-001 |
| 3 | bruno santos | bruno@southgate.co.uk | SG-2024-014 |
| 4 | CHEN WEI | chen@northwind.com | NW-2023-207 |
| 5 | Dana Okafor | dana@eastvale.org | EV-2024-092 |
=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.
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é.
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.
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.
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)).
Por qué ocurre: IZQUIERDA cuenta el espacio como un carácter, porque lo es.
Cómo resolverlo: Limpia primero: =IZQUIERDA(ESPACIOS(A3); 5).
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.
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.
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.
Lecturas más largas donde esta función hace trabajo real en una hoja real.