Extraer Texto de una Celda – Excel y Google Sheets
Descargar el Libro de Ejemplo
Este tutorial demostrará cómo extraer texto de una celda en Excel y Google Sheets.
Extraer Texto de la Izquierda
Puedes extraer texto de la parte izquierda de una celda en Excel utilizando la Función IZQUIERDA. Simplemente proporcione el texto, e introduzca el número de caracteres a devolver.
Sin embargo, esto sólo extraerá un número fijo de caracteres. Puede ver arriba que algunas temperaturas de cocción se extraen correctamente (ej. 300), pero otras no (ej. 95F). Para crear una fórmula dinámica que funcione en todos los escenarios podemos utilizar la Función LARGO, combinada con la Función IZQUIERDA.
Función LARGO – Contar Caracteres en una Celda
Utilice la Función LARGO para contar el número de caracteres en la celda:
=LARGO(C3)
Función IZQUIERDA – Mostrar los Caracteres de la Izquierda
Luego, cree una nueva Función IZQUIERDA que extraiga un número de caracteres determinado por la Función LARGO creada anteriormente.
=IZQUIERDA(C3;E3-1)
La combinación de estas funciones se ve así
=IZQUIERDA(C3;LARGO(C3)-1)
Funciones DERECHA y LARGO
Del mismo modo, también podemos extraer caracteres de la derecha de una celda utilizando la función DERECHA para devolver un determinado número de caracteres de la derecha.
=DERECHA(B3;LARGO(B3)-C3)
Funciones EXTRAE y HALLAR
En la siguiente sección, utilizaremos las funciones HALLAR y EXTRAE para extraer caracteres del centro de una cadena de texto.
=EXTRAE(B3;HALLAR(" ";B3)+1;999)
Función HALLAR
En primer lugar, utilizamos la función HALLAR para encontrar la posición del espacio (» «) entre el nombre y el apellido.
=HALLAR(" ";B3)
Función EXTRAE
A continuación, utilizamos la función EXTRAE para devolver todos los caracteres después del espacio.
- Tenemos que añadir 1 al resultado de la fórmula anterior para que nos devuelva el primer carácter después del espacio.
- Utilizamos el número grande 999 para devolver todos los caracteres.
=EXTRAE(B3;C3+1;999)
Combinando estas 2 funciones obtenemos la fórmula original del apellido
=EXTRAE(B3;HALLAR(" ";B3)+1;999)
Extraer Texto Antes o Después de un Carácter Específico
También puede utilizar las funciones IZQUIERDA, DERECHA, LARGO y HALLAR para extraer extraer el texto antes o después de un carácter específico . En este caso vamos a separar el nombre y el apellido.
Extraer el Texto Antes de un Carácter
En primer lugar, podemos utilizar la función HALLAR para encontrar la posición de la coma en la cadena de texto.
=HALLAR(",";B3)
A continuación, podemos utilizar la función IZQUIERDA para extraer el texto antes de la posición de la coma.
- Necesitamos restar 1 a la posición de la coma para no incluir la coma en nuestro resultado.
=IZQUIERDA(B3;C3-1)
Combinando estas 2 funciones obtenemos la fórmula original del apellido.
Extraer el Texto Después del Carácter
=DERECHA(B3;LARGO(B3)-HALLAR(",";B3)-1)
Además de utilizar la función HALLAR una vez más, también utilizamos la función LARGO junto con la función DERECHA para obtener el texto extraído después de un carácter específico.
La función LARGO sirve para obtener la longitud del texto en B3, mientras que la función HALLAR se utiliza una vez más para encontrar la posición de la coma. Luego, utilizamos la función DERECHA para extraer los caracteres después de la coma en la cadena de texto.
Extraer Texto de la Mitad de la Cadena de Texto
A continuación, veremos cómo extraer texto de la mitad de una cadena de texto.
Para extraer texto del medio de una cadena de texto, podemos utilizar las funciones DERECHA, HALLAR y LARGO para obtener el texto del lado derecho de la cadena, y luego utilizar las funciones EXTRAE y LARGO para obtener el texto del medio. También incorporaremos la Función ESPACIOS para recortar los espacios en ambos lados de la cadena de texto.
=DERECHA(B3;LARGO(B3)-HALLAR(" ";B3)-LARGO(ESPACIOS(EXTRAE(B3;HALLAR(" ";B3;1)+1;
HALLAR(" ";B3;HALLAR(" ";B3;1)+1)-HALLAR(" ";B3;1))))-1)
Esta fórmula sólo funcionará si hay más de un espacio en la cadena de texto. Si sólo hay un espacio, se devolverá un error con #VALOR.
Para resolver este problema, para nombres sin segundo nombre o iniciales, podemos utilizar la fórmula original usando las funciones EXTRAE y HALLAR.
= EXTRAE(B3;HALLAR(" ";B3)+1;999))
Podemos crear una única fórmula que utilice ambas técnicas para manejar todas las situaciones con la Función SI.ERROR. (La función SI.ERROR realiza un cálculo. Si ese cálculo resulta en un error, entonces se realiza otro cálculo)
=SI.ERROR(DERECHA(B3;LARGO(B3)-HALLAR(" ";B3)-LARGO(ESPACIOS(EXTRAE(B3;HALLAR(" ";B3;1)+1;
HALLAR(" ";B3;HALLAR(" ";B3;1)+1)-HALLAR(" ";B3;1))))-1);EXTRAE(B3;HALLAR(" ";B3)+1;999))
A continuación, podemos utilizar las funciones EXTRAE y LARGO para obtener el segundo nombre o la inicial.
=EXTRAE(B3;LARGO(C3)+1;LARGO(B3)-LARGO(C3&D3))
Extraer Texto de una Celda en Google Sheets
Todos los ejemplos anteriores funcionan de la misma manera en Google Sheets.