¿Alguna vez te has encontrado con la tarea de extraer un texto específico entre dos caracteres en Excel o Google Sheets? Si es así, ¡estás en el lugar indicado! En este artículo, te vamos a mostrar cómo extraer fácilmente texto de una celda utilizando algunas fórmulas y funciones en Excel y Google Sheets. Así que prepárate para descubrir cómo hacerlo y simplificar tus tareas de extracción de datos. ¡Comencemos!
La guía completa sobre cómo buscar y extraer texto de una cadena entre dos caracteres o palabras en Excel y Google Sheets.
Cuando trabaje con cuerdas largas, es posible que desee extraer una parte específica de ellas para examinarlas más de cerca. En Microsoft Excel y Google Sheets, existen varias formas de obtener texto entre dos caracteres o subcadenas. En este artículo, discutiremos los más rápidos y efectivos.
Cómo extraer texto entre dos caracteres en Excel
Para extraer texto entre dos caracteres diferentes, puedes utilizar esta fórmula genérica:
MEDIO(celúlaBUSCAR(char1, celúla) + 1, BUSCAR(char2, celúla) – BUSCAR(char1, celúla) – 1)
Por ejemplo, para obtener texto entre paréntesis de la cadena en A2, la fórmula es:
=MID(A2, SEARCH("(", A2)+1, SEARCH(")", A2) - SEARCH("(", A2) -1)
De manera similar, puede extraer texto entre llaves, corchetes, corchetes angulares, etc.
¡Consejo útil! Si está trabajando con números y desea que el resultado sea un número y no una cadena numérica, realice adicionalmente alguna operación aritmética que no cambie el resultado, por ejemplo, sumar 0 o multiplicar por 1.
Por ejemplo:
=MID(A2, SEARCH("(", A2)+1, SEARCH(")", A2) - SEARCH("(", A2) -1) *1
Observe la alineación derecha predeterminada de los valores extraídos en las celdas típicas de los números:
Cómo funciona esta fórmula
La base de esta fórmula es la función MID que extrae un número determinado de caracteres de una cadena, comenzando en una posición específica:
MID(texto, núm_inicio, núm_caracteres)
Texto es la celda que contiene la cadena original (A2).
La posición inicial (número_inicio) es el carácter que sigue inmediatamente al paréntesis de apertura. Entonces, encuentra la posición de «(» usando la función BÚSQUEDA y le suma 1:
SEARCH("(", A2) +1
Para calcular cuántos caracteres extraer (numero_caracteres), localiza la posición del paréntesis de cierre y le resta la posición del paréntesis de apertura. Además, resta 1 para omitir el segundo paréntesis:
SEARCH(")", A2) - SEARCH("(", A2) -1
Al tener todos los detalles necesarios, la función MID le brinda exactamente lo que desea: texto entre paréntesis en nuestro caso:
MID(A2, 19, 2)
Como MID es una función de texto, siempre produce una cadena, incluso si la extracción solo incluye números. Para obtener un número como resultado final, multiplicamos la salida de MID por uno o le sumamos cero. Si está extrayendo texto, esta operación no es necesaria.
Extraer texto entre dos cadenas/palabras en Excel
Para extraer texto entre dos cadenas o palabras, la fórmula es bastante similar a la comentada anteriormente. Solo se necesitan un par de ajustes diferentes: para eliminar las palabras delimitadoras del resultado final, suma y resta la longitud de las palabras mismas devueltas por la función LEN:
MEDIO(celúlaBUSCAR(palabra1, celúla) + LARGO(palabra1), BUSCAR(palabra2, celúla) – BUSCAR(palabra1, celúla) – LARGO(palabra1))
Por ejemplo, para extraer subcadenas entre las palabras «inicio» y «fin», la fórmula es:
=IFERROR(MID(A2, SEARCH("start ", A2) + LEN("start "), SEARCH(" end", A2) - SEARCH("start ", A2) - LEN("start ")), "")
Consejos:
- Para evitar espacios iniciales y finales en los resultados, incluya un espacio después de la palabra 1, como «inicio», y antes de la palabra 2, como «fin». Alternativamente, puede utilizar la función RECORTAR para eliminar espacios adicionales.
- Si una o ambas palabras especificadas no se encuentran en la cadena original, la fórmula devolverá el #¡VALOR! error. Para detectar ese error y reemplazarlo con una cadena vacía («»), use la función SIERROR como se muestra en el ejemplo anterior.
Obtener texto entre dos instancias del mismo carácter en Excel
Para extraer texto de una cadena entre dos apariciones del mismo carácter, la fórmula genérica es:
MEDIO(celúlaBUSCAR(carbonizarse, celúla) +1, BUSCAR (carbonizarse, celúlaBUSCAR (carbonizarse, celúla) +1) – BUSCAR (carbonizarse, celúla) -1)
Por ejemplo, para extraer texto entre comillas dobles de la cadena en A2, ingresa esta fórmula en B2:
=MID(A2, SEARCH("""", A2) +1, SEARCH("""", A2, SEARCH("""",A2) +1) - SEARCH("""", A2) -1)
Preste atención a la forma en que busca una comilla doble en Excel. Entre las comillas exteriores se introduce otro conjunto de comillas. La primera comilla se utiliza para escapar de un significado especial de la segunda comilla, de modo que «» entre las comillas más externas represente una comilla doble simple.
Otra forma de proporcionar una comilla doble («) a una fórmula de Excel es utilizando la función CHAR con el número de código 34.
=MID(A2, SEARCH(CHAR(34), A2) +1, SEARCH(CHAR(34), A2, SEARCH(CHAR(34),A2) +1) - SEARCH(CHAR(34), A2) -1)
Cómo funciona esta fórmula
Los dos primeros argumentos de esta fórmula MID no plantean dudas:
- A2 es la cadena de texto a buscar y
- SEARCH(«»»», A2) +1 es el número inicial, es decir, la posición de la primera comilla +1.
La parte más complicada es calcular la cantidad de caracteres a extraer (num_chars):
Primero, encontramos la posición de la segunda cita anidando una función de BÚSQUEDA dentro de otra.
SEARCH("""", A2, SEARCH("""",A2) +1)
De la posición de la segunda cita (en A2 es 27), resta la posición de la primera cita (en A2 es 10) y luego resta 1 para excluir la cita misma del resultado:
SEARCH("""", A2, SEARCH("""",A2) +1) - SEARCH("""", A2) -1
La fórmula anterior devuelve 16, que es la última pieza faltante del rompecabezas que necesita la función MID:
=MID(A2, 10+1, 16)
En pocas palabras, MID busca en la celda A2 a partir del carácter después de la primera comilla (10+1) y devuelve los siguientes 16 caracteres.
Fórmula de Excel que distingue entre mayúsculas y minúsculas para extraer texto entre caracteres
Como probablemente sepa, en Microsoft Excel hay dos funciones para buscar cadenas: BUSCAR (no distingue entre mayúsculas y minúsculas) y ENCONTRAR (no distingue entre mayúsculas y minúsculas).
En una situación en la que el delimitador sea una letra en un caso específico, simplemente use BUSCAR en lugar de BUSCAR. Para ilustrar la diferencia, comparemos las dos fórmulas siguientes.
De la cadena en A2, supongamos que desea extraer un número entre dos letras mayúsculas «X».
La función BÚSQUEDA funciona incorrectamente en este caso porque no distingue entre «x» y «X»:
=MID(A2, SEARCH("X", A2) +1, SEARCH("X", A2, SEARCH("X",A2) +1) - SEARCH("X", A2) -1) +0
Como resultado se extrae el texto entre «x» y no entre «X» que estamos buscando:
Mientras que la función ENCONTRAR que distingue entre mayúsculas y minúsculas funciona a la perfección:
=MID(A2, FIND("X", A2) +1, FIND("X", A2, FIND("X",A2) +1) - FIND("X", A2) -1) +0
Y trae exactamente el resultado que necesitamos:
Extraer texto entre caracteres en Excel 365
En Excel 365, puede obtener texto entre caracteres más fácilmente usando las funciones TEXTBANTES y TEXTO DESPUÉS juntas.
TEXTOANTES(TEXTODESPUÉS(celúla, char1), char2)
Por ejemplo, para extraer texto entre paréntesis, la fórmula es tan simple como esta:
=TEXTBEFORE(TEXTAFTER(A2, "("), ")")
Esta fórmula también funciona bien para extraer texto entre dos apariciones del mismo carácter.
Por ejemplo, para obtener texto entre comillas dobles, la fórmula toma esta forma:
=TEXTBEFORE(TEXTAFTER(A2, """"), """")
De forma predeterminada, las funciones TEXTAFTER y TEXTBEFORE distinguen entre mayúsculas y minúsculas. Para desactivar la distinción entre mayúsculas y minúsculas, establezca el cuarto argumento (modo_partido) a 1 o VERDADERO.
Por ejemplo, el no distingue entre mayúsculas y minúsculas La siguiente fórmula reconoce tanto la «x» minúscula como la «X» mayúscula como delimitador:
=TEXTBEFORE(TEXTAFTER(A2, "x ", ,1), " x", ,1) +0
Cómo funciona esta fórmula
Trabajando de adentro hacia afuera, usa la función TEXTAFTER para extraer texto después del paréntesis de apertura:
TEXTAFTER(A2, "(")
Y entregue la subcadena devuelta a TEXTBEFORE, pidiéndole que encuentre los paréntesis de cierre en esa subcadena y devuelva el texto anterior.
TEXTBEFORE("Unexpected error)", ")")
Hecho 🙂
Obtener texto entre dos caracteres en Google Sheets
Para buscar texto entre dos caracteres en Google Sheets, no es necesario reinventar la rueda 🙂
Las combinaciones de BÚSQUEDA MEDIA utilizadas en Excel también funcionan perfectamente en las hojas de cálculo de Google.
Por ejemplo, para conseguir texto entre paréntesisla fórmula es:
=MID(A2, SEARCH("[", A2)+1, SEARCH("]", A2) - SEARCH("[", A2) -1)
Extraer texto entre dos comasesta es la fórmula a utilizar:
Así es como se extrae texto entre dos caracteres o palabras en hojas de cálculo de Microsoft Excel y Google. ¡Te agradezco por leer y espero verte en nuestro blog la próxima semana!
Cuadernos de práctica
Extraer texto entre caracteres en Excel (archivo .xlsx)
Obtener texto entre caracteres en Google Sheets (hoja en línea)
Usted también podría estar interesado en:
Extraiga texto entre dos caracteres en Excel y Google Sheets
El poderoso Excel y Google Sheets ofrecen una amplia gama de funciones y herramientas que facilitan el manejo de datos y la realización de cálculos. Una de estas funciones es la capacidad de extraer texto entre dos caracteres específicos. Si te encuentras en la necesidad de hacerlo, ¡has llegado al lugar correcto! En este artículo, te mostraremos cómo extraer texto entre dos caracteres en Excel y Google Sheets de una manera sencilla y eficiente.
1. Utilizando la función FIND
La función FIND es una de las herramientas más útiles para extraer texto en Excel y Google Sheets. Esta función identifica la posición del primer carácter en un texto y, a partir de ahí, puedes extraer el texto entre dos caracteres utilizando otras funciones.
Para comenzar, selecciona una celda donde deseas que aparezca el resultado de la extracción. Luego, utiliza la siguiente fórmula:
=MID(A1,FIND("primer_caracter",A1)+1,FIND("segundo_caracter",A1)-FIND("primer_caracter",A1)-1)
Sustituye «primer_caracter» y «segundo_caracter» por los caracteres específicos entre los cuales deseas extraer el texto. Asegúrate de que la referencia «A1» apunte a la celda que contiene el texto del cual deseas extraer.
Por ejemplo, si quieres extraer el texto entre paréntesis en la celda A1, la fórmula sería:
=MID(A1,FIND("(",A1)+1,FIND(")",A1)-FIND("(",A1)-1)
Recuerda que esta fórmula solo extraerá el texto entre el primer par de caracteres que encuentre. Si existen múltiples pares de caracteres dentro del texto, deberás ajustar la fórmula utilizando otras funciones, como REPLACE o SUBSTITUTE, para obtener los resultados deseados.
2. Utilizando la función SPLIT
Otra manera de extraer texto entre dos caracteres en Excel y Google Sheets es utilizando la función SPLIT. Esta función divide un texto en varias partes, utilizando un delimitador específico.
Para comenzar, selecciona una celda donde deseas que aparezca el resultado de la extracción. Luego, utiliza la siguiente fórmula:
=SPLIT(A1,"primer_caracter")[1]
Sustituye «primer_caracter» por el carácter específico del cual deseas extraer el texto. Asegúrate de que la referencia «A1» apunte a la celda que contiene el texto del cual deseas extraer.
Por ejemplo, si quieres extraer el texto entre paréntesis en la celda A1, la fórmula sería:
=SPLIT(A1,"(")[1]
Esta fórmula extraerá el texto desde el primer carácter hasta el delimitador especificado y te mostrará el resultado en la celda seleccionada. Si deseas extraer el texto desde el segundo carácter en adelante, utiliza [2] en lugar de [1] en la fórmula.
Recuerda que la función SPLIT solo extrae texto entre dos caracteres específicos y no funcionará si existen múltiples pares de caracteres.
¡Y eso es todo! Ahora tienes las herramientas necesarias para extraer texto entre dos caracteres en Excel y Google Sheets. ¡Esperamos que este artículo te haya sido útil! Si deseas obtener más información sobre cómo utilizar estas funciones o cualquier otro tema relacionado, te recomendamos consultar las siguientes fuentes:
- Función FIND en Excel (soporte de Microsoft)
- Función FIND en Google Sheets (Centro de Ayuda de Google)
- Función SPLIT en Google Sheets (Centro de Ayuda de Google)
¡Buena suerte y a seguir explorando las maravillas de Excel y Google Sheets!