Excel tiene un conjunto de funciones de texto que pueden hacer maravillas. Puede hacer todo tipo de operaciones de corte de texto y dados usando estas funciones.
Una de las tareas comunes de las personas que trabajan con datos de texto es extraer una subcadena en Excel (es decir, obtener psrt del texto de una celda).
Desafortunadamente, no hay ninguna función de subcadena en Excel que pueda hacer esto fácilmente. Sin embargo, esto podría hacerse usando fórmulas de texto así como algunas otras características incorporadas de Excel.
Echemos primero un vistazo a algunas de las funciones de texto que usaremos en este tutorial.
Glosario
Funciones de texto de Excel
Excel tiene una serie de funciones de texto que harían realmente fácil extraer una subcadena del texto original en Excel. Aquí están las funciones de texto de Excel que usaremos en este tutorial:
- Función correcta: Extrae los números de caracteres especificados de la derecha de la cadena de texto.
- Función IZQUIERDA: Extrae los números de caracteres especificados de la izquierda de la cadena de texto.
- Función MID: Extrae el número de caracteres especificado de la posición inicial especificada en una cadena de texto.
- Función BUSCAR: Encuentra la posición inicial del texto especificado en la cadena de texto.
- Función LEN: Devuelve el número de caracteres de la cadena de texto.
Extraer una subcadena en Excel usando funciones
Supongamos que tienes un conjunto de datos como el que se muestra a continuación:
Estos son algunos id de correo electrónico aleatorios (pero superhéroes) (excepto el mío), y en los ejemplos siguientes, te mostraré cómo extraer el nombre de usuario y el nombre de dominio utilizando las funciones de Texto en Excel.
Ejemplo 1 – Extracción de nombres de usuario de los Ids de correo electrónico
Al utilizar las funciones de texto, es importante identificar un patrón (si lo hay). Eso hace que sea muy fácil construir una fórmula. En el caso anterior, el patrón es el signo @ entre el nombre de usuario y el nombre de dominio, y lo usaremos como referencia para obtener los nombres de usuario.
Aquí está la fórmula para obtener el nombre de usuario:
=LEFT(A2,FIND(«@»,A2)-1)
La fórmula anterior utiliza la función IZQUIERDA para extraer el nombre de usuario identificando la posición del signo @ en el id. Esto se hace usando la función BUSCAR, que devuelve la posición del @.
Por ejemplo, en el caso ofbrucewayne@batman.com, FIND(«@»,A2) devolvería 11, que es su posición en la cadena de texto.
Ahora usamos la función IZQUIERDA para extraer 10 caracteres de la izquierda de la cadena (uno menos que el valor devuelto por la función IZQUIERDA).
Ejemplo 2- Extracción del nombre de dominio de los Ids de correo electrónico
La misma lógica utilizada en el ejemplo anterior puede utilizarse para obtener el nombre de dominio. Una diferencia menor aquí es que necesitamos extraer los caracteres de la derecha de la cadena de texto.
Aquí está la fórmula que hará esto:
=RIGHT(A2,LEN(A2)-FIND(«@»,A2))
En la fórmula anterior, usamos la misma lógica, pero la ajustamos para asegurarnos de que obtenemos la cadena correcta.
Tomemos de nuevo el ejemplo de brucewayne@batman.com. La función BUSCAR devuelve la posición del signo @, que en este caso es 11. Ahora, necesitamos extraer todos los caracteres después de la @. Así que identificamos la longitud total de la cadena y restamos el número de caracteres hasta la @. Nos da el número de caracteres que cubren el nombre del dominio a la derecha.
Ahora podemos simplemente usar la función DERECHA para obtener el nombre de dominio.
Ejemplo 3 – Extracción del nombre de dominio de los Ids de correo electrónico (sin .com)
Para extraer una subcadena del centro de una cadena de texto, es necesario identificar la posición del marcador justo antes y después de la subcadena.
Por ejemplo, en el ejemplo que figura a continuación, para obtener el nombre de dominio sin la parte .com, el marcador sería @ (que está justo antes del nombre de dominio) y . (que está justo después de él).
Aquí está la fórmula que extraerá el nombre de dominio solamente:
=MID(A2,FIND(«@»,A2)+1,FIND(«.»,A2)-FIND(«@»,A2)-1)
La función Excel MID extrae el número especificado de caracteres de la posición inicial especificada. En el ejemplo anterior, FIND(«@»,A2)+1 especifica la posición inicial (que está justo después de la @), yFIND(«.»,A2)-FIND(«@»,A2)-1 identifica el número de caracteres entre la ‘ @ ‘ y la ‘ . ‘
Actualización: Uno de los lectores William19 mencionó que la fórmula anterior no funcionaría en caso de que hubiera un punto(.) en el id del correo electrónico (por ejemplo, bruce.wayne@batman.com). Así que aquí está la fórmula para tratar estos casos:
=MID(A1,FIND(«@»,A1)+1,FIND(«.»,A1,FIND(«@»,A1))-FIND(«@»,A1)-1)
Uso de Texto a Columnas para Extraer una Subcadena en Excel
El uso de funciones para extraer una subcadena en Excel tiene la ventaja de ser dinámico. Si se cambia el texto original, la fórmula actualizaría automáticamente los resultados.
Si esto es algo que tal vez no necesite, entonces el uso de la función de Texto a Columnas podría ser una forma rápida y fácil de dividir el texto en subcadenas basadas en marcadores específicos.
Así es como se hace:
- Selecciona las celdas donde tienes el texto.
- Pasa a Datos ——-; Herramientas de Datos ——-; Texto a Columnas. 656q0-1.92 0.672-3.616t1.856-2.976 2.72-2.208 3.296-1. 408 3.616-0.448q2.816 0 5.248 1.184t3.936 3.456 1.504 5.12q0 1.728-0.32 3.36t-1.088 3.168-1.792 2.656-2.56 1.856-3.392 0. 672q-1.216 0-2.4-0.576t-1.728-1.568q-0.16 0.704-0.48 2.016t-0.448 1.696-0.352 1.28-0.48 1.248-0.544 1.12-0.832 1.408-1. 12 1.536l-0.224 0.096-0.16-0.192q-0.288-2.816-0.288-3.36 0-1.632 0.384-3.68t1.184-5.152 0.928-3.616q-0.576-1.152-0.57