EXTRAE (en inglés MID) es una función de texto de Excel que saca un número concreto de caracteres de una cadena, empezando por la posición que le indiques. Con ella puedes partir códigos como ES-2026-0045 para quedarte solo con el año, o separar el apellido de un nombre completo sin tocar la celda original. Al terminar este tutorial sabrás escribir la fórmula a mano, combinarla con ENCONTRAR para textos que cambian de tamaño y arreglar los errores más habituales. EXTRAE está disponible en todas las versiones de Excel desde 2003, en Microsoft 365, en Excel para la web, en Mac y en móviles.
Qué es EXTRAE y cuándo te ahorra limpiar datos a mano
Imagina una hoja de inventario con códigos como ES-2026-0045 o con nombres de personas como Juan Pérez. A ti solo te interesa una parte de ese texto: el año dentro del código, o el apellido después del espacio. Copiar y pegar a mano celda por celda es lento y se presta a errores.
EXTRAE hace ese trabajo por ti. Le dices de dónde tiene que sacar (ES-2026-0045), desde qué posición empieza a contar (4) y cuántos caracteres quieres (4), y te devuelve 2026 como resultado. La celda de origen no se borra: EXTRAE solo lee y devuelve.
La función existe desde Excel 2003, así que la encontrarás en cualquier Excel que tengas delante: 2007, 2010, 2013, 2016, 2019, 2021, 2024, Microsoft 365, Excel para la web, para Mac y para móviles. Solo cambia el lugar de la cinta donde está, no su comportamiento.
La sintaxis de EXTRAE: los tres argumentos que necesita
EXTRAE siempre pide tres argumentos, en este orden y separados por punto y coma:
=EXTRAE(texto;posición_inicial;núm_de_caracteres)
| Argumento | Obligatorio | Qué hace |
|---|---|---|
| texto | Sí | La celda o el texto literal del que se copia |
| posición_inicial | Sí | Desde qué carácter empieza a contar (el primero es el 1) |
| núm_de_caracteres | Sí | Cuántos caracteres quieres sacar |
texto: la celda o la cadena de donde se copia
Admite una referencia a una celda (A2), un texto escrito a mano entre comillas dobles ("ES-2026-0045") o el resultado de otra fórmula que devuelva texto. Si lo que le pasas es un número, EXTRAE lo trata como texto igualmente.
posición_inicial: desde qué carácter se cuenta
El primer carácter de la cadena ocupa la posición 1, no la 0. Si la cadena tiene 10 caracteres, las posiciones válidas van de 1 a 10. Si pones una posición mayor que la longitud del texto, EXTRAE devuelve una cadena vacía, sin error.
núm_de_caracteres: cuántos caracteres se sacan
Es un número entero positivo. Si pones 0, el resultado es una cadena vacía. Si te pasas y pides más caracteres de los que quedan, EXTRAE devuelve solo los que hay hasta el final.
Dónde está EXTRAE y cómo escribirla sin equivocarte
Tienes dos formas de escribirla: a mano en la barra de fórmulas, o usando el asistente.
Para abrir el asistente desde la cinta:
Se abre el cuadro Argumentos de función, con tres campos en el mismo orden que la sintaxis:
El campo Texto admite una referencia o un texto entre comillas; posición_inicial y núm_de_caracteres admiten números enteros. En la parte de abajo del cuadro, Excel te muestra en vivo el resultado que devolverá la fórmula, así no tienes que aceptar a ciegas.
Si ya sabes la sintaxis, escribirla a mano en la barra de fórmulas es más rápido: colocas el cursor en la celda, escribes =EXTRAE( y vas completando los argumentos separados por punto y coma.
Sacar el año de un código ES-2026-0045
Partimos de una hoja Códigos con seis códigos de producto en la columna A. Todos siguen el mismo patrón: dos letras, guion, año, guion y cuatro cifras.
| A | B | |
|---|---|---|
| 1 | Código | Año |
| 2 | ES-2026-0045 | 2026 |
| 3 | MX-2025-0118 | 2025 |
| 4 | PE-2024-0321 | 2024 |
| 5 | CL-2026-0007 | 2026 |
| 6 | AR-2025-0455 | 2025 |
Pasos:
- Abre el libro y crea una hoja nueva llamada
Códigos. - En la celda A1 escribe Código y en la columna A, desde A2 hasta A6, los seis códigos de la tabla.
- En B1 escribe Año. Selecciónala y revisa que la barra de fórmulas esté vacía.
- Escribe en B2 la fórmula
=EXTRAE(A2;4;4)y pulsa Entrar. La celda muestra2026. - Selecciona B2, sitúa el cursor sobre el controlador de relleno (la esquina inferior derecha del recuadro) y arrástralo hasta B6.
2026, 2025, 2024…). La fórmula se ha copiado relativa y la referencia A2 ha avanzado a A3, A4… manteniendo los argumentos 4 y 4.El número 4 de posición_inicial apunta al primer carácter después del guion que separa las letras del año. Los 4 caracteres siguientes son el año completo.
EXTRAE combinada con ENCONTRAR para textos que cambian de tamaño
El problema de la sección anterior es que los códigos siempre miden igual. Con nombres de personas, no: Ana López tiene 9 caracteres y María Fernanda Gutiérrez tiene muchos más. Si quisieras sacar el apellido con un número fijo de caracteres, no te serviría.
La solución es combinar EXTRAE con ENCONTRAR (en inglés FIND), que devuelve la posición de un carácter dentro de un texto. Aquí la usamos para localizar el espacio que separa nombre y apellido.
| A | B | |
|---|---|---|
| 1 | Nombre completo | Apellido |
| 2 | Juan Pérez | Pérez |
| 3 | Ana López | López |
| 4 | María Fernanda Gutiérrez | Gutiérrez |
Pasos:
- En la hoja
Códigos, ve a la fila 6. Sustituye las celdas A6, A7 y A8 por los nombres de la tabla. - En B1 cambia el encabezado por Apellido.
- En B6 escribe
=EXTRAE(A6;ENCONTRAR(" ";A6)+1;100)y pulsa Entrar. La celda muestraPérez. - Arrastra el controlador de relleno hasta B8.
Pérez, López, Gutiérrez) aparecen aunque los nombres midan distinto.Cómo funciona la fórmula: ENCONTRAR( ;A6) devuelve la posición del primer espacio (en Juan Pérez es 5). Sumarle 1 lleva al primer carácter del apellido. Pedir 100 caracteres garantiza que EXTRAE devuelva todo hasta el final, aunque sobren.
EXTRAE, IZQUIERDA y DERECHA: cuándo usar cada una
EXTRAE no está sola: tiene dos hermanas que sacan texto desde los extremos, IZQUIERDA (LEFT) y DERECHA (RIGHT). Las tres se complementan.
| Función | Argumentos | De dónde saca | Ejemplo sobre ES-2026-0045 |
|---|---|---|---|
| IZQUIERDA | texto; núm_de_caracteres | Los primeros caracteres | =IZQUIERDA(A2;2) da ES |
| EXTRAE | texto; posición_inicial; núm_de_caracteres | Desde una posición concreta | =EXTRAE(A2;4;4) da 2026 |
| DERECHA | texto; núm_de_caracteres | Los últimos caracteres | =DERECHA(A2;4) da 0045 |
En la hoja Códigos, añade una columna C con la fórmula de IZQUIERDA y una columna D con la de DERECHA sobre los códigos de la columna A.
| A | B | C | |
|---|---|---|---|
| 1 | Código | Año | País |
| 2 | ES-2026-0045 | 2026 | ES |
| 3 | MX-2025-0118 | 2025 | MX |
| 4 | PE-2024-0321 | 2024 | PE |
=DERECHA(A2;4)
Regla práctica: si lo que quieres está al principio, usa IZQUIERDA; si está al final, DERECHA; si está en medio o no sabes cuánto mide, EXTRAE (a menudo combinada con ENCONTRAR).
Por qué EXTRAE devuelve vacío, #¡VALOR! o un resultado raro
EXTRAE es generosa con algunos errores y estricta con otros. Estos son los cuatro tropiezos reales.
posición_inicial mayor que la longitud del texto
Si le pides que empiece más allá del final, devuelve una cadena vacía sin error. Eso es peligroso porque parece que la fórmula funciona y no.
=EXTRAE("Hola";20;5)
Resultado: vacío. Antes de dar EXTRAE por bueno, comprueba con LARGO(A2)>=posición_inicial.
posición_inicial menor que 1
Empezar en 0 o en negativo sí da error.
=EXTRAE(A1;0;3)
Resultado: #¡VALOR!. La primera posición válida es siempre 1.
núm_de_caracteres negativo
Tampoco se admite.
=EXTRAE(A1;4;-2)
Resultado: #¡VALOR!. núm_de_caracteres debe ser mayor o igual que 0.
El resultado es texto, no número
Este es el que más confunde. Si en la columna A tienes ES-2026-0045 y en B2 escribes =EXTRAE(A2;4;4)+1, esperas 2027. Lo que obtienes es #¡VALOR!.
La solución es envolver EXTRAE con la función VALOR (en inglés VALUE), que convierte texto en número:
=VALOR(EXTRAE(A2;4;4))
Pasos para aplicarlo a la hoja:
- En C2 sustituye la fórmula por
=VALOR(EXTRAE(A2;4;4))+1y pulsa Entrar. Ahora muestra2027. - Arrastra el controlador hasta C6.
Alternativa: selecciona el rango, cópialo con Ctrl+C, pega con Ctrl+Alt+V y elige Valores para que el texto se quede como números en una columna nueva.
En qué versiones de Excel está EXTRAE y qué no hace
EXTRAE está en todas las versiones de Excel que se han fabricado: 2003, 2007, 2010, 2013, 2016, 2019, 2021, 2024, Microsoft 365, Excel para la web, Excel para Mac y Excel para móviles. No necesitas comprobar nada: si tienes Excel, tienes EXTRAE.
En Microsoft 365 hay dos funciones nuevas que en algunos casos sustituyen a EXTRAE sin necesidad de contar caracteres: TEXTOANTES (TEXTBEFORE) y TEXTODESPUES (TEXTAFTER). Sacan el texto anterior o posterior a un delimitador (por ejemplo, el espacio de un nombre) sin que tengas que escribir la posición a mano.
Lo que ya sabes hacer con EXTRAE y el siguiente paso
- EXTRAE (en inglés MID) saca
núm_de_caracteresdesde unaposición_inicialdentro de un texto, y los tres argumentos son obligatorios. - Sirve para partir códigos fijos y para extraer fragmentos en medio de cadenas irregulares combinada con ENCONTRAR.
- Se complementa con IZQUIERDA y DERECHA: una para el principio, otra para el final, EXTRAE para el medio.
- Sus errores típicos son
#¡VALOR!por posición o cantidad negativas y resultados en texto donde necesitas número, que se arreglan con VALOR. - Está en todas las versiones de Excel, incluidas las más modernas y la web.
El siguiente paso es blindar las hojas con datos sucios envolviendo EXTRAE dentro de SI.ERROR (en inglés IFERROR): =SI.ERROR(EXTRAE(A2;4;4);""). Si el código viene mal escrito y EXTRAE falla, la celda muestra vacío en vez de un error que ensucie el informe.
Dudas al usar EXTRAE en Excel
1. ¿Cuál es el nombre en inglés de la función EXTRAE en Excel?
En inglés la función EXTRAE se llama MID. Su sintaxis cambia ligeramente: =MID(texto;posicion_inicial;num_caracteres) y los argumentos se separan con coma en lugar de punto y coma. Si abres un archivo guardado por alguien que escribe en ese idioma, verás MID donde tú escribes EXTRAE, pero hacen exactamente lo mismo.
2. ¿Cómo se usa la función EXTRAE en Excel? Pon un ejemplo paso a paso
Imagina que en A1 tienes el código PRD-00125 y quieres quedarte solo con el número 00125. Escribe en B1: =EXTRAE(A1;5;5). El primer argumento es el texto, el segundo indica desde qué posición empiezas a contar (la quinta letra) y el tercero cuántos caracteres quieres extraer (cinco). Verás 00125 como resultado.
3. ¿Cómo combinar las funciones ENCONTRAR y EXTRAE en Excel?
ENCONTRAR localiza la posición de un carácter y EXTRAE corta a partir de ella. Por ejemplo, para sacar lo que va después del guion en A1 con el texto LOTE-2026, escribe: =EXTRAE(A1;ENCONTRAR("-";A1)+1;10). ENCONTRAR devuelve 5, le sumas 1 para saltar el guion y EXTRAE toma desde ahí los siguientes caracteres.
4. ¿Cómo extraer texto de una celda en Excel cuando el menú está en inglés?
Si tu Excel está configurado en inglés, la fórmula se escribe con MID en lugar de EXTRAE y los argumentos se separan con coma. Cambiar el idioma solo afecta al nombre de la función y al separador; la lógica y el resultado son idénticos. Por ejemplo, =MID(A1;5;5) equivale a =EXTRAE(A1;5;5).
5. ¿Cómo extraer el texto que está entre dos caracteres en Excel?
Usa ENCONTRAR dos veces para localizar los delimitadores y EXTRAE para cortar entre ellos. Si en A1 tienes cliente[Pedro] y quieres solo Pedro, escribe: =EXTRAE(A1;ENCONTRAR("[";A1)+1;ENCONTRAR("]";A1)-ENCONTRAR("[";A1)-1). El segundo ENCONTRAR marca dónde parar y se resta la posición inicial para calcular el ancho exacto.
6. ¿Qué fórmula uso para sacar solo los números de una celda en Excel?
EXTRAE por sí sola no distingue letras de números, así que necesitas combinarla con otras funciones. Un truco clásico es recorrer el texto carácter a carácter con EXTRAE dentro de un SI y acumular los dígitos en una cadena auxiliar usando &. Otra opción más sencilla es usar la versión moderna: =UNIRCADENAS("";VERDADERO;SI.ERROR(VALOR(EXTRAE(A1;FILA(INDIRECTO("1:"&LARGO(A1)));1));"")) (disponible desde Microsoft 365 y Excel 2021).
7. ¿Qué hacen las funciones IZQUIERDA y DERECHA en Excel y en qué se diferencian de EXTRAE?
IZQUIERDA toma un número de caracteres desde el principio de la cadena y DERECHA desde el final. EXTRAE, en cambio, empieza a contar desde la posición que tú le indiques. Si en A1 tienes ABCDEF, =IZQUIERDA(A1;3) devuelve ABC, =DERECHA(A1;3) devuelve DEF y =EXTRAE(A1;2;3) devuelve BCD, empezando por el segundo carácter.
Fuentes
- MicrosoftEXTRAE — documentación oficialconsultado el 12/10/2026
- MicrosoftReferencias relativas, absolutas y mixtas — documentación oficialconsultado el 12/10/2026
- MicrosoftUna celda vacía en una fórmula — documentación oficialconsultado el 12/10/2026
- MicrosoftFILTRAR — documentación oficialconsultado el 12/10/2026
- MicrosoftAGRUPARPOR — documentación oficialconsultado el 12/10/2026