BlogExcel

Extraiga texto entre dos caracteres en Excel y Google Sheets

La guía completa sobre cómo encontrar y extraer texto de una cadena entre dos caracteres o palabras en Excel y Google Sheets.

Cuando trabaje con cadenas largas, a menudo querrá extraer una parte de ellas para examinarlas más de cerca. En Microsoft Excel y Google Sheets, hay 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, puede usar 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) Extraer texto entre dos caracteres en Excel

Del mismo modo, puede extraer texto entre llaves, corchetes, corchetes angulares, etc.

¡Consejo útil! Si está tratando con números y desea que el resultado sea un número y no una cadena de números, realice además una operación aritmética que no cambie el resultado, por ejemplo, sume 0 o multiplique por 1.

P.ej:

=MID(A2, SEARCH("(", A2)+1, SEARCH(")", A2) - SEARCH("(", A2) -1) *1

Tenga en cuenta la alineación a la derecha predeterminada de los valores extraídos en celdas típicas para números: Obtenga el número entre dos caracteres en Excel

Cómo funciona esta fórmula

La base de esta fórmula es la función MID que extrae un cierto número de caracteres de una cadena, comenzando en una determinada posición:

MID(texto, num_inicial, num_coches)

Texto es la celda que contiene la cadena original (A2).

Posición inicial (núm_inicio) es el carácter que sigue inmediatamente al paréntesis de apertura. Así que encuentra la posición de «(» usando la función BUSCAR y súmale 1:

SEARCH("(", A2) +1

Para saber cuántos caracteres extraer (cual_num), localice la posición del paréntesis de cierre y réstele la posición del paréntesis de apertura. Además, reste 1 para omitir el segundo paréntesis:

SEARCH(")", A2) - SEARCH("(", A2) -1

Con 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)

Dado que MID es una función de texto, siempre produce una cadena, incluso si la extracción incluye solo números. Para obtener un número como resultado final, multiplicamos el resultado MID por uno o le sumamos cero. Si está extrayendo texto, esta operación no es necesaria.

Extrae texto entre dos cadenas/palabras en Excel

Para arrastrar texto entre dos cadenas o palabras, la fórmula es bastante similar a la discutida anteriormente. Solo se necesitan algunos ajustes diferentes: para eliminar las palabras delimitadoras de la salida final, sume y reste la longitud de las palabras devueltas por la función LEN:

MEDIO(celúlaBUSCAR(palabra 1, celúla) + LARGO(palabra 1), BUSCAR(la palabra2, celúla) – BUSCAR(palabra 1, celúla) – LARGO(palabra 1))

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 ")), "") Fórmula para extraer texto entre dos palabras en Excel

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 usar la función TRIM para deshacerse de los espacios adicionales.
  • Si una o ambas palabras especificadas no se encuentran en la cadena original, la fórmula devolverá #¡VALOR! error. Para detectar ese error y reemplazarlo con una cadena vacía («»), use la función IFERROR, como se muestra en el ejemplo anterior.

Obtenga texto entre dos instancias del mismo carácter en Excel

Para extraer texto de una cadena entre dos ocurrencias del mismo carácter, la fórmula genérica es:

MEDIO(celúlaBUSCAR(Chara, celúla) +1, BUSCAR (Chara, celúlaBUSCAR (Chara, celúla) +1) – BUSCAR (Chara, celúla) -1)

Por ejemplo, para extraer texto entre comillas dobles de la cadena en A2, ingrese esta fórmula en B2:

=MID(A2, SEARCH("""", A2) +1, SEARCH("""", A2, SEARCH("""",A2) +1) - SEARCH("""", A2) -1)

Preste atención a cómo busca una comilla doble en Excel. Entre las comillas exteriores, se inserta otro conjunto de comillas. La primera comilla se usa para escapar de un significado especial de la segunda comilla, por lo que el «» entre las comillas exteriores representa una sola comilla doble.

Otra forma de proporcionar comillas dobles («») a una fórmula de Excel es usar 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) Obtener texto entre comillas dobles.

Cómo funciona esta fórmula

Los dos primeros argumentos de esta fórmula MID no plantean preguntas:

  • A2 es la cadena de texto para buscar y
  • SEARCH(«»»», A2) +1 es el número de inicio, es decir, la posición del primer bit +1.

La parte más difícil es calcular el número 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), reste la posición de la primera cita (en A2 es 10), luego reste 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 de un 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 posterior a 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, hay dos funciones en Microsoft Excel para buscar cadenas: BUSCAR (que no distingue entre mayúsculas y minúsculas) y ENCONTRAR (que distingue entre mayúsculas y minúsculas).

En la situación en la que el delimitador es una letra en un caso específico, simplemente use FIND en lugar de SEARCH. Para ilustrar la diferencia, comparemos las dos fórmulas a continuación.

De la cadena en A2, suponga que desea extraer un número entre dos letras mayúsculas «X».

La función BUSCAR 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 la «X» que buscamos: Fórmula que no distingue entre mayúsculas y minúsculas para obtener texto entre dos caracteres

Mientras que la función FIND sensible a mayúsculas y minúsculas funciona muy bien:

=MID(A2, FIND("X", A2) +1, FIND("X", A2, FIND("X",A2) +1) - FIND("X", A2) -1) +0

Y da exactamente el resultado que necesitamos: Fórmula que distingue entre mayúsculas y minúsculas para extraer texto entre dos caracteres

Extraer texto entre caracteres en Excel 365

En Excel 365, puede obtener texto entre caracteres más fácilmente usando las funciones TEXTO ANTES y TEXTO DESPUÉS juntas.

TEXTO ANTES(TEXTO DESPUÉS(celúla, char1), char2)

Por ejemplo, para extraer texto entre paréntesis, la fórmula es tan simple como esta:

=TEXTBEFORE(TEXTAFTER(A2, "("), ")") Fórmula simple para extraer texto entre paréntesis

Esta fórmula también funciona bien para extraer texto entre dos ocurrencias del mismo carácter.

Por ejemplo, para obtener texto entre comillas dobles, la fórmula toma la siguiente forma:

=TEXTBEFORE(TEXTAFTER(A2, """"), """") Fórmula de Excel 365 para obtener texto entre comillas dobles

De forma predeterminada, las funciones TEXTAFTER y TEXTBEFORE distinguen entre mayúsculas y minúsculas. Para deshabilitar la distinción entre mayúsculas y minúsculas, configure el cuarto argumento (fósforo) a 1 o VERDADERO.

por ejemplo, el mayúsculas y minúsculas la siguiente fórmula reconoce tanto la «x» minúscula como la «X» mayúscula como delimitadores:

=TEXTBEFORE(TEXTAFTER(A2, "x ", ,1), " x", ,1) +0 Fórmula que no distingue entre mayúsculas y minúsculas para extraer texto entre caracteres en Excel 365

Cómo funciona esta fórmula

Trabajando de adentro hacia afuera, use la función TEXTAFTER para extraer texto después de los paréntesis de apertura:

TEXTAFTER(A2, "(")

Y sirva la subcadena devuelta a TEXTBEFORE, pidiéndole que encuentre las llaves de cierre en esa subcadena y devuelva el texto anterior.

TEXTBEFORE("Unexpected error)", ")")

Completado 🙂

Obtener texto entre dos caracteres en Hojas de cálculo de Google

Para buscar texto entre dos caracteres en Hojas de cálculo de Google, no tienes que reinventar la rueda 🙂

Las combinaciones de MID SEARCH utilizadas en Excel también funcionan perfectamente en Google Sheets.

Por ejemplo, para obtener texto entre paréntesisla fórmula es:

=MID(A2, SEARCH("[", A2)+1, SEARCH("]", A2) - SEARCH("[", A2) -1) Obtener texto entre paréntesis

Dibujar texto entre dos comasesta es la fórmula a utilizar: Extraer texto entre dos comas

Así es como se extrae texto entre dos caracteres o palabras en Microsoft Excel y Google Spreadsheets. ¡Gracias por leer y espero verte en nuestro blog la próxima semana!

libros de trabajo

Extraer texto entre caracteres en Excel (archivo .xlsx)
Obtener texto entre caracteres en Hojas de cálculo de Google (hoja en línea)

Usted también podría estar interesado en:

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar