Al modificar este control, se volverá a cargar esta página.

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:

El editor de fórmulas mostrando la fórmula =EXTRAER.REGEX(A2,"(?<=Nombre: )(.*)(?= Fecha)".

En esta fórmula, se utilizan los siguientes argumentos:

  • cadena-origen: A2, la celda que contiene el dato que es el nombre que buscas.

  • expresión regular: "(?<=Nombre: )(.*)(?= Fecha)", una expresión regular que busca texto entre la cadena "Nombre: " y " Fecha".

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:

El editor de fórmulas mostrando la fórmula =EXTRAER.REGEX(A2,"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}")

En esta fórmula, se utilizan los siguientes argumentos:

  • cadena-origen: A2, la celda que contiene el dato que buscas, en este caso una dirección de correo electrónico.

  • expresión regular: "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}", una expresión regular que busca un patrón de dirección de correo electrónico.

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.

El editor de fórmulas mostrando la fórmula =EXTRAER.REGEX(Proveedores::B2,"\w+",Fila(A2)-1).

En esta fórmula, se utilizan los siguientes argumentos:

  • cadena-origen: Proveedores::B2, la celda que contiene el dato que buscas. En este caso, se busca en la lista de esta celda.

  • expresión regular: "\w+", una expresión regular que busca una palabra.

  • buscar-aparición: FILA(A2)-1. En este caso, hay tres coincidencias para cada EXTRAER.REGEX, y puedes usar otra función como FILA para definir la coincidencia específica que quieres. FILA(A2) devuelve el número de fila de la celda seleccionada (2), y se incluye -1 para excluir la fila de encabezado en el resultado; de lo contrario, en este ejemplo se devolvería “garbanzos” (la segunda coincidencia).

    Si omites buscar-aparición, el resultado para cada proveedor será siempre la primera palabra que se devuelve (“Lentejas” para el proveedor A, “Manzanas” para el proveedor B, etc.).

La fórmula anterior se puede modificar fácilmente para completar la tabla para los otros proveedores y artículos.

  • Para devolver otros productos populares de un solo proveedor, puedes modificar el argumento buscar-aparición. Por ejemplo, para devolver “garbanzos”, que es el siguiente artículo más popular del proveedor A, puedes cambiar la referencia de celda en buscar-aparición: de A2 a A3.

  • Para devolver valores de otro proveedor, puedes modificar el argumento cadena-origen. Por ejemplo, para devolver “Manzanas”, que es el siguiente artículo más popular del proveedor B, puedes cambiar la referencia de celda en buscar-aparición: de B2 a B3.

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".

Ver tambiénREGEX
Morty Proxy This is a proxified and sanitized view of the page, visit original site.
¿Te ha resultado útil?
Límite de caracteres: 250
El límite máximo de caracteres es 250.
Gracias por tus comentarios.
Morty Proxy This is a proxified and sanitized view of the page, visit original site.