Inicio
» Wiki
»
Cómo usar la función Regex de Excel para optimizar sus búsquedas
Cómo usar la función Regex de Excel para optimizar sus búsquedas
Filtrar y buscar en Excel no es una tarea sencilla. Las funciones regex cambiarán eso. Ahora puede especificar exactamente lo que necesita (patrones complejos, coincidencias parciales o extracción de datos estructurados) sin esfuerzo.
Regex es un tipo de patrón que se utiliza para buscar coincidencias en un texto o una cadena de caracteres. ¿Alguna vez te has preguntado cómo los sitios web pueden decirte que la plantilla de correo electrónico que ingresaste en la página de inicio de sesión no es válida? A continuación se muestra un ejemplo de un patrón de expresión regular que utiliza una firma de correo electrónico en acción.
Las expresiones regulares no son exclusivas de Excel: están disponibles en muchos editores de texto, lenguajes de programación, herramientas de línea de comandos, IDE e incluso en el competidor de Excel, Google Sheets .
Regex puede parecer complicado, y lo es si quieres aprovechar todo su potencial, pero no necesitas ser programador para usarlo de forma efectiva. En algunos casos, puedes salirte con la tuya simplemente sabiendo cómo utilizar algunos símbolos y patrones básicos. Esta guía se mantendrá lo más simple posible para que puedas comenzar a utilizarlos.
Los siguientes son los símbolos que se utilizarán en esta guía:
Símbolo
Describir
-
Especifique el rango de caracteres entre paréntesis.
^
Coincide con el comienzo de una cadena.
$
Coincide con el final de una cadena.
.
Coincide con cualquier carácter excepto un carácter de nueva línea.
*
Coincide con cero o más caracteres anteriores.
+
Coincide con el carácter o caracteres anteriores.
()
Agrupa los caracteres coincidentes en uno solo.
[]
Coincide con cualquier carácter dentro de los corchetes.
[^]
Coincide con cualquier carácter que no esté dentro de los paréntesis.
{norte}
Coincide exactamente n instancias del carácter anterior.
{norte,}
Coincide con n o más ocurrencias del carácter anterior
Los patrones de expresiones regulares simples que puedes crear usando estos símbolos incluyen:
Patrón de expresiones regulares
Describir
[0-9]
Coincide con un dígito del 0 al 9
[a-zA-z0-9]
Se trata de un rango de coincidencias que coincide con un solo carácter de la a minúscula a la z, de la A a la Z mayúscula y del 0 al 9.
^pro
Coincide con cualquier cadena que comience con pro .
[^$]
Coincide con cualquier carácter que no sea $ .
(niño)
Muestra de subgrupos .
un{3,}
Coincide con 3 o más ocurrencias de la parte que sigue a a (por ejemplo, a , aa o aaa ).
Las funciones Regex son fórmulas predefinidas de Excel que se pueden utilizar para definir un patrón para buscar y manipular cadenas de texto. Actualmente hay 3 funciones regex. Veremos cómo utilizarlos por separado y con otras funciones.
Buscar patrones
La primera función que veremos es REGEXTEST. Esta función toma una cadena de texto que desea utilizar para buscar y un patrón de expresión regular, luego utiliza este último patrón para encontrar coincidencias en el patrón anterior. La función devolverá Verdadero o Falso.
La sintaxis de la función REGEXTEST es la siguiente:
Los dos primeros parámetros, string_to_search y regex_pattern_to_use, se explican por sí solos. El parámetro [case_sensitivity] es opcional (todo lo que esté entre corchetes cuando se habla de la sintaxis de Excel es opcional) e indica si desea que la búsqueda distinga entre mayúsculas y minúsculas (0) o no (1). El valor predeterminado distingue entre mayúsculas y minúsculas.
El ejemplo utilizará REGEXTEST para ver si el usuario ingresó una dirección de correo electrónico válida utilizando la siguiente fórmula:
Aquí, buscamos en la celda B3 para ver si contiene una dirección de correo electrónico utilizando el siguiente patrón de expresión regular:
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
Si coloca la fórmula en la celda C3 e ingresa john.doe@example.com en la celda B3, la fórmula devolverá Verdadero porque coincide con la firma del correo electrónico.
Función REGEXTEST en Excel.
Datos adicionales usando expresiones regulares
A continuación, veamos la función REXEXEXTRACT. Esta función devuelve una subcadena (parte de una cadena) que coincide con el patrón de expresión regular proporcionado.
La sintaxis de la función REXEXEXTRACT es la siguiente:
Continuando con el ejemplo del correo electrónico, agreguemos una fórmula a la celda B4 para extraer el nombre de usuario de la parte del correo electrónico.
La fórmula quedaría así:
=REGEXEXTRACT(B3, "([^@]+)")
En esta fórmula, extraemos todo lo que está antes del símbolo @ en la dirección de correo electrónico ingresada en B3.
Función REGEXEXTRACT en Excel.
Buscar y reemplazar con expresiones regulares
La última función regex que veremos es REGEXREPLACE. Esta función es similar a la función REEMPLAZAR de Excel, pero también admite RegEx. Toma la cadena de texto que desea modificar y verifica si alguna subcadena coincide con el patrón de expresión regular definido. Si lo encuentra, reemplaza esa cadena con la cadena de reemplazo proporcionada.
La sintaxis de la función REGEXREPLACE es la siguiente:
Estos son los parámetros importantes a tener en cuenta en esta función:
string_to_modify : La cadena de texto que desea modificar.
replacement_string : Cadena con la que reemplazar la subcadena.
number_of_occurrences : Las instancias exactas que desea reemplazar.
A continuación se muestra un ejemplo del uso de la función para reemplazar la parte del nombre de usuario de un correo electrónico con otra cadena de texto:
=REGEXREPLACE(B3, "^[^@]+", "jane.doe")
El valor de B3 es john.doe@example.com y después de ingresar la fórmula anterior en la celda C3, devolverá jane.doe@example.com.
Función REGEXREPLACE en Excel.
Combinando Regex con otras funciones
También puede combinar funciones regex con otras funciones en Excel. Por ejemplo, puede combinar la función REGEXTEST con la declaración IF de Excel y mostrar mensajes apropiados según los resultados.
He aquí un ejemplo de fórmula:
=IF(REGEXTEST(B3, "^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$"), "This is a valid email address!", "The email address is invalid!")
Esta fórmula utiliza una declaración SI para verificar si la dirección de correo electrónico ingresada en la celda B6 es válida y luego muestra ¡ Esta es una dirección de correo electrónico válida! si es VERDADERO o ¡ La dirección de correo electrónico no es válida! si es FALSO . Además, puedes combinar esta fórmula con la función BUSCAR para encontrar datos rápidamente en Excel.
Combine la función REGEXTEST y la función SI en Excel.
Esta es una buena manera de comenzar a utilizar RegEx en Excel. Los casos de uso y las posibilidades sólo están limitados por tu imaginación.