Fórmula de Excel: Extraer una palabra que comience con un carácter específico -

Tabla de contenido

Fórmula genérica

=TRIM(LEFT(SUBSTITUTE(MID(txt,FIND("@",txt),LEN(txt))," ",REPT(" ",100)),100))

Resumen

Para extraer palabras que comienzan con un carácter específico, puede utilizar una fórmula basada en seis funciones: RECORTAR, IZQUIERDA, SUSTITUIR, MEDIO, LARGO y REPETIR. Este enfoque es útil si necesita extraer cosas como un nombre de usuario de Twitter de una celda que contiene otro texto.

En el ejemplo que se muestra, la fórmula en C5 es:

=TRIM(LEFT(SUBSTITUTE(MID(B5,FIND("@",B5),LEN(B5))," ",REPT(" ",100)),100))

Explicación

Comenzando desde adentro hacia afuera, la función MID se usa para extraer todo el texto después de "@":

MID(B5,FIND("@",B5),LEN(B5))

La función ENCONTRAR proporciona el punto de partida y, para extraer el total de caracteres, solo usamos LEN en el texto original. Esto es un poco descuidado, pero evita tener que calcular el número exacto de caracteres a extraer. A MID no le importa si este número es mayor que los caracteres restantes, simplemente extrae todo el texto que sigue a "@".

A continuación, "inundamos" el texto restante con caracteres de espacio, reemplazando cualquier espacio individual con 100 espacios usando una combinación de SUSTITUIR y REPETIR:

SUBSTITUTE("@word and remaining text"," ",REPT(" ",100))

Esto parece una locura, pero la lógica se aclara a continuación.

A continuación, para extraer solo la palabra que queremos (es decir, @palabra), usamos LEFT para extraer los primeros 100 caracteres de la izquierda. Esto nos da "@word", además de muchos espacios adicionales. Para visualizar, los guiones siguientes representan espacios:

@palabra---------------------

Ahora solo necesitamos eliminar todos los espacios adicionales. Para eso usamos la función TRIM.

Nota: 100 representa la palabra más larga que espera encontrar que comienza con el carácter especial. Aumente o disminuya según sus necesidades.

¿Tienes una mejor forma de hacer esto? ¡Déjame saber abajo en los comentarios!

Articulos interesantes...