EXTRAER.REGEX
La función EXTRAER.REGEX devuelve las coincidencias o grupos de captura en una coincidencia de una expresión regular determinada en una cadena origen.
EXTRAER.REGEX(cadena-origen, cadena-expresión-regular, buscar-aparición, aparición-grupo-captura)
cadena-origen: un valor de cadena para buscar coincidencias
expresión regular: un valor de cadena que representa una expresión regular, se usa para comparar con la cadena-origen.
buscar-aparición: un número entero opcional que indica la coincidencia que se debería regresar, en caso de que haya varias Se aceptan números enteros negativos y permiten acceder a las coincidencias en orden inverso, de modo que -1 es la última coincidencia, y así sucesivamente. Si se da 0, se devuelve una matriz de todas las coincidencias. Si se omite, se devuelve la primera coincidencia.
aparición-grupo-captura: un número entero opcional que indica el grupo de captura dentro de una coincidencia que se debería regresar, en caso de que haya grupos de captura en la expresión regular. No acepta valores negativos. Si se devuelve 0, se devuelve una matriz de todos los grupos de captura. Si se omite, se devuelve toda la coincidencia.
Notas
La expresión regular tiene que ajustarse al estándar de la UCI.
Ejemplos |
---|
Si tienes datos que no se pueden insertar fácilmente en las filas y columnas de una hoja de cálculo, puedes usar EXTRAER.REGEX para simplificar el proceso. Por ejemplo, en la siguiente tabla, los datos presentan una cierta estructura, pero puede ser difícil separarlos manualmente e insertar cada uno de ellos en celdas distintas. |
A | |
---|---|
1 | Revisiones de los usuarios |
2 | Correo: jbonilla@icloud.com Nombre: Julia Bonilla Fecha: 17/05/2021 |
3 | Correo: daniel_rico@icloud.com Nombre: Daniel Rico Fecha: 02/06/2021 |
Para corregir esto, puedes agregar más columnas en la tabla que contengan los valores de Nombre, Correo, Calificación y Fecha, y usar EXTRAER.REGEX para buscar los datos que quieres y colocarlos en las celdas correspondientes. Por ejemplo, puedes insertar la siguiente fórmula para devolver un nombre: En esta fórmula, se utilizan los siguientes argumentos:
Esta fórmula se puede repetir para cada fila de datos a fin de devolver el nombre de cada persona que respondió a la encuesta; para hacerlo, se debe cambiar la cadena-origen de forma que coincida con las otras celdas que contienen la información de la revisión de los usuarios. |
Para corregir esto, puedes agregar más columnas en la tabla que contengan los valores de Nombre, Correo, Calificación y Fecha, y usar EXTRAER.REGEX para buscar los datos que quieres y colocarlos en las celdas correspondientes. Por ejemplo, puedes insertar la siguiente fórmula: En esta fórmula, se utilizan los siguientes argumentos:
|
Reorganizar datos de una lista con buscar-aparición |
---|
En ocasiones, puede que tengas datos como los de la siguiente tabla (titulada “Proveedores”), los cuales agrupan valores en una celda: |
Proveedores | Artículo |
---|---|
A | Lentejas, garbanzos, limas |
B | Manzanas, naranjas, limones |
C | Quinoa, arroz, chía |
Para separar los valores según la tienda y la calificación, puedes crear primero una tabla nueva, como la siguiente: |
A | B | C | D | |
---|---|---|---|---|
1 | Calificación | A | B | C |
2 | 1 | |||
3 | 2 | |||
4 | 3 |
Para devolver “Lentejas”, el artículo con la mejor calificación del proveedor A, puedes usar una fórmula como la siguiente en la celda B2 de la tabla nueva. En esta fórmula, se utilizan los siguientes argumentos:
|
La fórmula anterior se puede modificar fácilmente para completar la tabla para los otros proveedores y artículos.
|
Ejemplos adicionales |
---|
Digamos que A1 es "marina@ejemplo.com juan@ejemplo.ca miguel@ejemplo.de". =EXTRAER.REGEX(A1, "([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2,4})") devuelve "marina@ejemplo.com". =EXTRAER.REGEX(A1, "([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2,4})", 2) devuelve "juan@ejemplo.ca". =EXTRAER.REGEX(A1, "([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2,4})", -1) devuelve "miguelejemplo.de". =EXTRAER.REGEX(A1, "([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2,4})", 1, 1) devuelve "marina". =EXTRAER.REGEX(A1, "([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2,4})", 2, 2) devuelve "ejemplo.ca". |