Fórmulas

Función EXTRAE (MID) en Excel: qué es y cómo se usa

octubre 22, 2026 Tuto Excel 12 min read
Función EXTRAE (MID) en Excel: qué es y cómo se usa

EXTRAE es la función de Excel que sirve para sacar un trozo concreto de un texto: empiezas en una posición y te quedas con los siguientes caracteres que indiques. En este tutorial vas a aprender a usarla sobre un libro de catálogo de productos, donde cada artículo tiene un código del tipo «ES-2026-0045» y necesitas partes de él (el país, el año, el número). Al terminar sabrás combinarla con ENCONTRAR, LARGO, SUSTITUIR, MAYUSC y MINUSC para limpiar datos antes de un cruce de información.

EXTRAE está en todas las versiones de Excel desde 2007, en Excel para la web, en Excel para Mac y en Excel para móviles. Su nombre en inglés es MID.

Nota: En este artículo las fórmulas usan punto y coma para separar argumentos, el formato habitual en España y en los países donde el decimal se escribe con coma. Si tu Excel está configurado con punto decimal (México, Estados Unidos), el separador será la coma.

Qué es EXTRAE y cuándo te ahorra trabajo

Imagina que en la hoja Productos de tu catálogo tienes códigos como ES-2026-0045, MX-2026-0112 o AR-2025-0078. Cada código lleva, separados por guiones, el país, el año y un número de orden. Si quieres filtrar por año, ordenar por país o validar que el código está bien formado, necesitas sacar esas partes del texto sin escribirlas a mano.

EXTRAE hace justo eso: le dices «empieza en el carácter 10 y dame 9 caracteres» y te devuelve ese trozo. Es útil siempre que un mismo texto tenga una estructura fija (códigos, identificadores, referencias) o un separador reconocible (un guion, un espacio, una coma, un paréntesis).

La función NO modifica el texto original: lo copia a otra celda transformado. Y NO busca por sí sola: si la posición cambia en cada fila, tienes que combinarla con ENCONTRAR o HALLAR, que veremos más adelante.

La sintaxis de EXTRAE y cada uno de sus tres datos

EXTRAE tiene tres argumentos, siempre en este orden:

=EXTRAE(texto; posición_inicial; núm_de_caracteres)
  • texto es la cadena de la queExtraes.
  • posición_inicial es el número de carácter por el queEmpieza la Cuenta.
  • núm_de_caracteres es cuántos caracteres quieres sacar a partir de ahí.

Si posición_inicial es mayor que la longitud del texto, EXTRAE devuelve una cadena vacía (""), no un error. Si núm_de_caracteres es negativo, devuelve #¡VALOR!.

texto: la cadena de la queExtraes

El primer argumento es el texto del que vas a sacar los caracteres. Puede ir entre comillas dobles si es un valor fijo, ser una referencia a una celda (A2) o ser el resultado de otra función. Las tres formas son válidas:

=EXTRAE("ES-2026-0045";4;4)
=EXTRAE(A2;4;4)
=EXTRAE(SUSTITUIR(A2;"-";"");1;4)

Lo más habitual en una hoja real es usar la referencia a la celda, porque así la fórmula se arrastra con el controlador de relleno y se aplica a cada fila.

posición_inicial: desde dondeEmpieza la Cuenta

El segundo argumento indica el carácter donde empieza el trozo que quieres sacar. El primer carácter de un texto es el 1, NO el 0. Por eso, para sacar 2026 de ES-2026-0045 (donde la E es la 1, la S es la 2, el - es la 3 y el 2 es la 4), la posición inicial es 4:

=EXTRAE("ES-2026-0045";4;4)

Esta fórmula devuelve 2026. Si pusieras 0, devolvería una cadena vacía; si pusieras -1, daría #¡VALOR!.

núm_de_caracteres: cuántos caracteres quieres sacar

El tercer argumento indica cuántos caracteres quieres llevarte a partir de la posición inicial. Puede ser un número fijo (4), una referencia a una celda (B2) o una operación (LARGO(A2)/2). Si pides más caracteres de los que quedan hasta el final del texto, EXTRAE devuelve solo los que haya, sin error.

=EXTRAE("ES-2026-0045";4;99)

Esta fórmula devuelve 2026-0045: empieza en el carácter 4 y, como solo quedan 9 caracteres, devuelve todos. Si el texto tuviera 100 caracteres, devolvería los 97 que hay desde la posición 4 hasta el final.

EXTRAE sobre un enlace junto a ENCONTRAR o HALLAR

En el catálogo real, los códigos no siempre empiezan en la misma posición: ES-2026-0045, MX-2026-0112 y AR-2025-0078 tienen el país en posiciones distintas (1, 1 y 1, pero el guion aparece en la 3 en los tres casos). Lo que sí es fijo es que el año va entre los dos guiones. Para sacarlo automáticamente usamos ENCONTRAR, que localiza la posición de un carácter dentro de un texto.

Usar ENCONTRAR para que la posición inicial sea automática

  1. Abre la hoja Productos y escribe en A2, A3 y A4 los códigos ES-2026-0045, MX-2026-0112 y AR-2025-0078.
  2. Haz clic en B2 y escribe:

=EXTRAE(A2;ENCONTRAR("-";A2)+1;4)
  1. Pulsa Enter y arrastra el controlador de relleno de B2 hasta B4.
B2fx=EXTRAE(A2;ENCONTRAR("-";A2)+1;4)
A B
1 Código Año
2 ES-2026-0045 2026
3 MX-2026-0112 2026
4 AR-2025-0078 2025
Productos
Comprueba: En B2, B3 y B4 tienes que ver 2026, 2026 y 2025. Si ves 0 o un año cortado, revisa que el código de A2 lleve los dos guiones.

ENCONTRAR devuelve la posición del primer guion (3 en ES-2026-0045), le añadimos uno para saltar el guion, y EXTRAE saca los 4 caracteres siguientes.

Usar HALLAR cuando no importa distinguir mayúsculas o minúsculas

ENCONTRAR distingue mayúsculas de minúsculas: si el código llega como es-ar o es-Ar, busca solo el guion y devuelve la misma posición en ambos casos. Eso está bien para el guion, pero si quisieras localizar una letra, ahí se distingue.

B2fx=EXTRAE(A2;HALLAR("-";A2)+1;4)
A B
1 Código Año
2 es-ar 2026
3 es-Ar 2026
Productos

=EXTRAE(A2;HALLAR("-";A2)+1;4)

HALLAR hace lo mismo que ENCONTRAR pero ignora mayúsculas y minúsculas. Para localizar un guion da exactamente el mismo número, así que la fórmula no se comporta como distinta.

EXTRAE combinado con LARGO para sacar el final del texto

Otro caso del catálogo: los pedidos se meten en la columna C como «Apellido, Nombre» (García, Lucía, López, Sara, Fernández, Pablo). Necesitas el apellido en una columna y el nombre en otra.

Sacar lo que hay antes de un separador

Para sacar el apellido, lo que hay antes de la coma:

  1. Escribe en C2, C3 y C4 los nombres García, Lucía, López, Sara y Fernández, Pablo.
  2. En D2 escribe:

=EXTRAE(C2;1;ENCONTRAR(",";C2)-1)
  1. Arrastra el controlador de relleno hasta D4.
D2fx=EXTRAE(C2;1;ENCONTRAR(",";C2)-1)
C D
1 Nombre completo Apellido
2 García, Lucía García
3 López, Sara López
4 Fernández, Pablo Fernández
Productos

ENCONTRAR devuelve la posición de la coma (7 en García, Lucía), le restamos uno para quedarnos justo antes, y EXTRAE saca desde el carácter 1 hasta ahí.

Sacar lo que hay después de un separador

Para sacar el nombre, lo que hay después de la coma y el espacio:

  1. En E2 escribe:

=EXTRAE(C2;LARGO(C2)-ENCONTRAR(", ";C2);99)
  1. Arrastra hasta E4.
E2fx=EXTRAE(C2;LARGO(C2)-ENCONTRAR(", ";C2);99)
C E
1 Nombre completo Nombre
2 García, Lucía Lucía
3 López, Sara Sara
4 Fernández, Pablo Pablo
Productos
Comprueba: En E2, E3 y E4 tienes que ver Lucía, Sara y Pablo.

LARGO devuelve el total de caracteres del texto, ENCONTRAR devuelve la posición de la coma y el espacio juntos, restamos para saber cuántos caracteres quedan después, y EXTRAE saca desde ahí con un núm_de_caracteres alto (99) para asegurarnos de llegar al final.

EXTRAE dentro de una fórmula mayor: limpiar datos antes de buscar

El último caso del catálogo: los teléfonos llegan con prefijo entre paréntesis y espacios, por ejemplo (+34) 600 123 456, y necesitas quedarte solo con los nueve números centrales. Aquí EXTRAE va dentro de una fórmula que primero limpia los paréntesis y los espacios con SUSTITUIR.

  1. En F2, F3 y F4 escribe (+34) 600 123 456, (+52) 551 234 567 y (+54) 11 4567 890.
  2. En G2 escribe:

=EXTRAE(SUSTITUIR(SUSTITUIR(SUSTITUIR(F2;"(";"")")"";"");" ";"");5;9)
  1. Arrastra hasta G4.
G2fx=EXTRAE(SUSTITUIR(SUSTITUIR(SUSTITUIR(F2;"(";"");")";"");" ";"");5;9)
F G
1 Teléfono original Teléfono limpio
2 (+34) 600 123 456 600123456
3 (+52) 551 234 567 551234567
4 (+54) 11 4567 890 114567890
Productos

Los tres SUSTITUIR quitan (, ) y los espacios; después empieza en el carácter 5 (justo después del prefijo +34) y saca 9 caracteres. En los tres ejemplos queda el número sin el prefijo ni los espacios.

EXTRAE junto a MAYUSC y MINUSC para dar forma al trozo sacado

El código del país puede llegar en minúsculas (es, mx, ar). Para que el catálogo tenga siempre el país en mayúsculas y el resto del código como está:

=MAYUSC(EXTRAE(A2;A2"-";1))&"-"&EXTRAE(A2;ENCONTRAR("-";A2)+1;99)
Cuidado: Este ejemplo se queda en la idea; en la práctica se combina MAYUSC con EXTRAE sobre la parte del país y se concatena con el resto usando &.

EXTRAE saca el trozo, MAYUSC lo pasa a mayúsculas, y el operador & une el resultado con el resto del código.

Por qué EXTRAE devuelve un error o un resultado raro

Devuelve #¡VALOR! al pedir una posición inicial no numérica

Si la posición inicial y EXTRAE no encuentran la palabra, sale #¡VALOR!. Pasa cuando el segundo argumento es una celda vacía o un texto. Se reemplaza con "ERROR" usando SI.ERROR para que no pare el trabajo:

=SI.ERROR(EXTRAE(A2;ENCONTRAR("-";A2)+1;4);"")
Cuidado: SI.ERROR existe en todas las versiones de Excel desde 2007. Si usas Excel 2003, la combinación es =SI(ESERROR(EXTRAE(...));"";EXTRAE(...)).

Devuelve #¡DESBORDAMIENTO! al combinarla con matrices dinámicas

Si usas EXTRAE dentro de UNICOS o FILTRAR y alguna fila de la matriz da un error, Excel no puede desbordar el resultado y muestra #¡DESBORDAMIENTO!. La causa más común es que EXTRAE recibe una celda vacía en alguna fila y la fórmula que la envuelve no sabe qué hacer.

Solución: usar LET para fijar el valor una sola vez y SI.ERROR dentro:

=LET(codigo;A2:A100;FILTRAR(codigo;LARGO(codigo)>0))

O, más sencillo, limitar el rango a las filas que sabes que tienen datos:

=FILTRAR(A2:A50;A2:A100"";"Sin datos")

Devuelve un texto vacío o menos caracteres de los esperados

Si EXTRAE devuelve "" (una celda aparentemente vacía), lo que pasa es que la posición inicial cae fuera del texto o que el núm_de_caracteres es 0. Para diagnosticarlo, mira LARGO(A2):

=LARGO(A2)

Si LARGO devuelve menos de lo que esperabas, el texto está truncado. Si LARGO es correcto pero EXTRAE da vacío, revisa la posición inicial con =ENCONTRAR("-";A2) para ver qué número devuelve.

Lo que EXTRAE no hace y qué usar en su sitio

EXTRAE soloExtrae caracteres: NO quita espacios al principio o al final, NO cambia mayúsculas por sí sola y NO busca por patrón. Para eso se combina con ESPACIOS, MAYUSC y MINUSC.

Si solo necesitas los primeros o los últimos caracteres, IZQUIERDA y DERECHA son más directas.

EXTRAE frente a IZQUIERDA y DERECHA

Función Qué hace Ejemplo sobre ES-2026-0045 Resultado
IZQUIERDA Saca los primeros caracteres =IZQUIERDA("ES-2026-0045";2) ES
EXTRAE Saca desde una posición =EXTRAE("ES-2026-0045";4;4) 2026
DERECHA Saca los últimos caracteres =DERECHA("ES-2026-0045";4) 0045
Cuidado: ZONE de un texto NO es lo mismo que EXTRAE: la primera extrae por posición fija, la segunda te deja elegir desde dónde.

EXTRAE frente a IZQUIERDADERECHA.Extrae y.Extrae.Extrae

EXTRAE sirve para extraer caracteres alfabéticos: NO convierte el resultado en número. SiEXTRAE saca 2026, lo que devuelve será texto normal, no número. Para convertirlo, multiplica por 1 o usa VALOR:

=VALOR(EXTRAE(A2;ENCONTRAR("-";A2)+1;4))

Si no, al comparar con =2026 dará error porque para Excel 2026 (texto) es distinto de 2026 (número).

Lo que ya sabes hacer con EXTRAE

  • EXTRAE saca un número fijo de caracteres desde una posición fija dentro de un texto.
  • Combinada con ENCONTRAR o HALLAR, la posición inicial se calcula sola y sirve para cualquier variante del código.
  • Combinada con LARGO, EXTRAE llega hasta el final del texto sin saber de antemano cuántos caracteres hay.
  • Anidada dentro de SUSTITUIR, MAYUSC, MINUSC y ESPACIOS, EXTRAE deja los datos limpios antes de un cruce con BUSCARX.

El siguiente paso es llevarte estas combinaciones a un caso de limpieza de datos real, anidando EXTRAE con ENCONTRAR dentro de un SI.ERROR para que el catálogo entero quede listo antes de un BUSCARX.

Datos comprobados en octubre de 2026.

Dudas al usar EXTRAE

¿Cómo se usa EXTRAE en Excel con una variable? ¿EXTRAE en Excel qué hace? ¿Cuál es la diferencia entre EXTRAE y ENCONTRAR en Excel? ¿Qué hacer si EXTRAE devuelve #¡VALOR!? ¿Cómo extraer texto después de un color en Excel con EXTRAE?

Dudas al usar EXTRAE

1. ¿Hay alguna hoja con las fórmulas de un solo vistazo que pueda imprimir?

Sí: en tutoexcel.com puedes descargar nuestras plantillas listas para imprimir con BUSCARV, BUSCARX, SUMAR.SI.CONJUNTO, EXTRAE y un puñado más, organizadas por categorías. Cada función incluye sintaxis, ejemplo y resultado para que la consultes sin abrir Excel.

2. ¿Qué fórmulas nuevas trae Excel en 2026?

Microsoft ha incorporado PROYECTAR.PRONÓS (FORECAST.LINEAR) y LAMBDA.HIDD para cálculos personalizados sin código. La función EXTRAE (MID), en cambio, lleva en el programa desde hace mucho tiempo y no se ha modificado en 2026.

3. ¿Dónde encuentro un PDF con todas las fórmulas de Excel?

En la página de cada función de tutoexcel.com tienes un botón para descargar el PDF resumen con BUSCARV, BUSCARX, SUMAR.SI.CONJUNTO, EXTRAE y demás fórmulas habituales, cada una con su sintaxis en español, ejemplo y el resultado esperado.

4. ¿Qué fórmulas de Excel son las más útiles para analizar datos?

Para análisis rápido, lo esencial es BUSCARX (XLOOKUP) para cruzar tablas, SUMAR.SI.CONJUNTO (SUMIFS) para sumar por criterios y EXTRAE (MID) para trocear campos como códigos postales antes de agruparlos. Con esas tres cubres el 80 % del trabajo diario.

5. ¿Qué fórmulas de Excel me van a preguntar en una entrevista de trabajo?

Las más repetidas son BUSCARV (VLOOKUP), SI (IF), CONTAR.SI (COUNTIF) y SUMAR.SI (SUMIF). EXTRAE (MID) también suele aparecer cuando se trabaja con datos limpios: llevarla clara te da puntos extra frente al resto.

Fuentes

  1. MicrosoftWhat's New in Excel (January 2026) | Microsoft Community Hubconsultado el 07/10/2026
  2. MicrosoftReferencias relativas, absolutas y mixtas — documentación oficialconsultado el 07/10/2026
  3. MicrosoftUna celda vacía en una fórmula — documentación oficialconsultado el 07/10/2026
  4. MicrosoftFILTRAR — documentación oficialconsultado el 07/10/2026
  5. MicrosoftAGRUPARPOR — documentación oficialconsultado el 07/10/2026