Extraer contenido de una celda en Excel

En ocasiones necesitamos extraer contenido de una celda de Excel para utilizarlo en alguna otra fórmula o simplemente porque simplemente necesitamos una parte de la cadena de texto contenida en la celda.

Extraer caracteres al inicio o al final

Si necesitas extraer un número determinado de caracteres que se encuentran al inicio o al final de una cadena de texto podemos utilizar la función IZQUIERDA o la función DERECHA. Observa el siguiente ejemplo que extrae los primeros 5 caracteres de la cadena de texto en A1:

Extraer caracteres a la izquierda en Excel

En este ejemplo utilice la función IZQUIERDA pero puedo utilizar la función DERECHA para extraer los últimos 4 caracteres de la misma cadena:

Extraer caracteres a la derecha con Excel

Extraer caracteres intermedios

Si por el contrario, necesitas extraer sólo una parte que se encuentra en medio de la cadena de texto, podemos utilizar la función EXTRAE que nos permite indicar la posición inicial dentro de la cadena donde se iniciará la extracción y adicionalmente la cantidad de caracteres que deseamos extraer.

En el siguiente ejemplo podrás observar que he extraído la palabra “una” especificando a la función EXTRAE que inicie en la posición 14 y obtenga solamente 3 caracteres.

Extraer caracteres intermedios en Excel

Para poder utilizar la función EXTRAE es indispensable conocer la posición inicial donde comenzará la extracción y su longitud en caracteres.

Las tres funciones mencionadas: IZQUIERDA, DERECHA, EXTRAE son las funciones con las cuales podemos extraer contenido de una celda en Excel y a partir de estas funciones básicas podemos hacer combinaciones con otras funciones para otros usos como los que menciono a continuación.

Extraer la primera palabra

Para extraer la primera palabra de una celda utilizamos la función IZQUIERDA junto con la función ENCONTRAR que nos permitirá encontrar la posición del primer espacio en blanco lo cual delimita la primera palabra. La fórmula utilizada es la siguiente:

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

El primer argumento de la función ENCONTRAR es una espacio en blanco y al resultado devuelto le resto el número 1 para poder obtener la longitud correcta de caracteres de la primera palabra. Observa el resultado:

Extraer la primera palabra en Excel

Extraer la última palabra

Para poder extraer la última palabra la situación se complica porque es necesario encontrar el último espacio y a partir de ahí tomar los caracteres de la derecha. Pero para simplificarte el trabajo, esta es la fórmula que obtiene el resultado adecuado:

=ESPACIOS(DERECHA(SUSTITUIR(A1," ",REPETIR(" ",LARGO(A1))),LARGO(A1)))

Esta fórmula devolverá el resultado correcto en nuestro ejemplo:

Extraer la última palabra en Excel

Extraer la n-ésima palabra

Si lo que necesitas es extraer algún número de palabra específica puedes utilizar la siguiente fórmula:

=ESPACIOS(EXTRAE(SUSTITUIR(A1," ",REPETIR(" ",LARGO(A1))), (D8-1)*LARGO(A1)+1, LARGO(A1)))

En esta fórmula el número de palabra se encuentra en la celda D8 por lo que si quiero obtener la segunda palabra debo colocar el valor 2 en dicha celda. Observa el ejemplo:

Extraer cualquier palabra en Excel

Artículos relacionados
Contar palabras en Excel
Extraer información de una fecha en Excel

16 comentarios en “Extraer contenido de una celda en Excel

  1. Lisseth

    hola estan buenos esos consejos me podria ayudar con algo, con la formula extraer , pude extraer esto c$ 400,00 pero ahora en la siguiente celda intento sumar varios de estos datos que extraje pero nome lo suma para nada me manda error. yo quisiera saber si ha y alguna forma de sumar estas celdas q contienen formulas de extraccion. y asi me sumen las cantidades con todo y el simbolo de C$?

    1. Moisés Ortíz Autor

      Hola Lisseth, después de extraer la cadena $400,00 Excel lo interpreta como texto y por lo tanto no puedes incluirlo en alguna operación aritmética. Una solución es multiplicar el valor por 1 de manera que Excel almacene el resultado como número en lugar de texto. Por ejemplo:
      =EXTRAE(A1,10,5) * 1

  2. Rigoberto

    Tengo un problema Quiero obtener solo los numeros y eliminar las letras de (1PS85, 1PS6) y asi de muchas series ayuda por favor. cual seria la formula-.

  3. JUAN

    Hola Moises, muy interesante tu página. Gracias por tu aporte.

  4. edgar

    HOLA TENGO UNA GRAN PREGUNTA, SE PODRÁ EXTRAER DE UNA CELDA QUE CONTIENE UN TEXTO TODAS LAS PALABRAS ACENTUADAS Y QUE TE LAS PONGA EN UN LISTADO

    1. Moisés Ortíz Autor

      Hola Edgar, es posible pero creando una macro.

  5. sebastian

    Buen día moises. Disculpa si tengo una celda con tipo de dato personalizada asi [h]:mm:ss y al querer extraer los primeros dos digitos[h] me manda un valor entero y no las horas que tengo hay. espero y me puedas echar la mano. gracias

    1. Moisés Ortíz Autor

      Hola Sebastián, aunque la celda se muestra con un formato [h]:mm:ss en realidad tiene un valor numérico. Para poder extraer las horas es necesario trabajar con el valor desplegado y no con el valor de la celda. Comienza por transformar la hora en texto con la siguiente fórmula:
      =TEXTO(A1,”[h]:mm:ss”)

      Una vez transformado en texto puedes utilizar las fórmulas que ya has construido y obtendrás el resultado correcto.

  6. Charlie

    Excelente forma de explicar, muy clara la información y de buena calidad. No cabe duda que cada día se aprende algo nuevo.

  7. Diana

    Hola Moisés. Necesito de su ayuda, tengo una serie de varios correos que quisiera separarlos para obtener un listado. ¿Qué fórmula puedo utilizar para obtener de manera separada todos los correos? Gracias.

    1. Moisés Ortíz Autor

      Hola Diana, es muy difícil recomendarte algún método sin saber cómo está organizada la información.
      Aún así no es muy común hacer ese tipo de extracciones utilizando fórmulas, sino mas bien herramientas como la importación de texto y la separación de columnas:
      https://exceltotal.com/dividir-texto-en-columnas/

  8. will palacios

    hola, disculpa se puede extraer la penultima palabra; sucede que quiero extraer la penultima de un rango determinado donde no hay el mismo numero de palabras. gracias.

    1. Moisés Ortíz Autor

      Hola Will, es posible hacerlo y la parte más importante sería obtener el segundo espacio en blanco a partir de la derecha de la cadena de texto. Tengo un artículo que muestra cómo obtener la última palabra y que puedes tomar como base para desarrollar tu fórmula:
      https://exceltotal.com/extraer-la-ultima-palabra-de-un-texto-en-excel/

  9. luis alberto

    Es posible mediante formulas dividir una columna de nombrrs y apellidos en dos? El problema es que unos apellidos son compuestos y en otros casos los nombres y no se si se puede hacer mediante formulas(izquierda, derecha, hallar, largo) me podrías ayudar. Gracias