25 Jun Función REGEXEXTRACCION en Excel
Funciones en este artículo: REGEXEXTRACCION
La función REGEXEXTRACCION pertenece a la categoría de funciones de «Texto» y permite extraer un texto basado en un patrón definido.
Posee dos argumentos obligatorios que indican el texto original de búsqueda y la expresión regular (o patrón) para extraer, y posee dos argumentos opcionales que indican el modo de devolución de coincidencias y la distinción de mayúsculas/minúsculas.
La función REGEXEXTRACCION se implementó a partir de Excel 365. Veamos la sintaxis:
FUNCIÓN REGEXEXTRACCION EN EXCEL
|
Donde «Texto» corresponde al texto a buscar, «Patrón» es la expresión regular que se va a aplicar, «Modo_devolución» especifica las coincidencias que se devolverán y «Distinción_mayúsculas_minúsculas» indica si hay o no distinción.
El argumento «Patrón» se puede configurar de distintas formas para conformar una expresión regular. Por ejemplo:
Si no utilizamos los caracteres [] indicamos una búsqueda exacta de caracteres, en cambio si aplicamos [] buscaremos grupo de caracteres (tanto individuales como por rangos con el carácter «-«)
Algunos usos populares de expresiones regulares con [] son [0-9] y [A-Za-z]. También podemos añadir el carácter ^ (acento circunflejo o sombrerito) para indicar «distinto de» previo a la expresión regular. Por ej: [^0-9]. Sin embargo si utilizamos el carácter ^ fuera de los corchetes estaremos indicando «inicio de» en la celda y si utilizamos el carácter «$» indicaremos «fin de» en la celda.
Si utilizamos la combinación «d» indicamos «todo lo que sea un dígito», es decir de 0 a 9, en cambio si utilizamos la combinación «D» indicamos «todo lo que no sea un dígito», es decir distinto de 0 a 9.
Si utilizamos el carácter «+» junto a otra combinación como «d» o «D», extraeremos una coincidencia de grupo de caracteres, mientras que si no utilizamos «+» extraeremos caracteres individuales.
Si utilizamos el modo «1» de devolución de coincidencias, devolverá todas las coincidencias como matriz, y en caso de haber más de un resultado positivo se devolverán cada resultado en rango derramado paralelo (ya sea carácter individual o grupo)
Si utilizamos el carácter «w» extraeremos caracteres que sean sólo letras (A-Z y a-z) y números o dígitos (0-9).
Si utilizamos el carácter «\» seguido de una expresión avanzada indicamos considerar el siguiente carácter exacto. También existen expresiones avanzadas con paréntesis como (.*?) donde se crea un grupo de captura «(….)», luego el «.» indica cualquier carácter, el «*» indica repetido 0 o más veces (puede estar vacío) y el «?» indicando que considere la primer coincidencia (conocido como «lazy», sin el «?» considera más de una coincidencia conocido como «greedy»)
Si utilizamos los caracteres () indicamos guardar información, para luego con el carácter $ seguido de un número de posición poder llamar a ese número de información guardado con ().
La función REGEXEXTRACCIÓN también hace uso de dos expresiones regulares conocidas como «Lookbehind» y «Lookahead». Estas expresiones permite buscar caracteres y definir una posición específica desde donde partir en la extracción. Por ej. la expresión (?<=\() indica iniciar busqueda hasta encontrar una posicion donde antes hay un carácter especifico «(» (lookbehind) y la expresión (?=\)) indica seguir busqueda hasta encontrar una posicion donde despues hay un carácter especifico «)» (lookahead)
Te recomiendo ver el siguiente link con más videos de Funciones básicas de Excel AQUÍ.
Salvo aclaración, todas las fórmulas y macros de este sitio están configuradas para aplicarse sobre la celda A1. Algunas fórmulas se encuentran encerradas entre llaves {} debido a que son fórmulas matriciales. Estas llaves no deben introducirse tecleándolas, sino que se generan automáticamente al aceptar la fórmula pulsando Control+Shift+Enter al mismo tiempo. Las fórmulas de este sitio son compatibles con versiones de Microsoft Excel® 2010 o superiores.
