function

REGEXEXTRACT

Todo sobre la función REGEXEXTRACT en Excel

La función REGEXEXTRACT (o EXTRAE.REGEX en algunas versiones localizadas) permite extraer subcadenas de texto de una celda basándose en un patrón de expresión regular (Regex). Es una de las funciones más potentes introducidas recientemente en Excel para la manipulación avanzada de cadenas de texto, eliminando la necesidad de fórmulas complejas anidadas para limpiezas de datos difíciles.

Al usar expresiones regulares, puedes definir patrones de búsqueda flexibles (como «cualquier número», «direcciones de correo», «fechas en formato específico») en lugar de buscar texto fijo o posiciones estáticas.

Sintaxis

=REGEXEXTRACT(texto; patrón; [modo_devolución]; [distinguir_mayúsculas])

Descripción de los argumentos:

  • texto El texto o referencia de celda donde se realizará la búsqueda. Obligatorio.
  • patrón La expresión regular (entre comillas dobles) que define qué texto se debe extraer. Obligatorio.
  • modo_devolución Número que indica qué coincidencias devolver. Opcional (por defecto es 0).
    • 0: Devuelve solo la primera coincidencia encontrada.
    • 1: Devuelve todas las coincidencias encontradas (genera una matriz desbordada).
    • 2: Devuelve los grupos de captura de la primera coincidencia (si existen grupos definidos con paréntesis en el patrón).
  • distinguir_mayúsculas Define si la búsqueda distingue entre mayúsculas y minúsculas. Opcional (por defecto es 0).
    • 0: Sensible a mayúsculas y minúsculas (Case-sensitive).
    • 1: Ignora mayúsculas y minúsculas (Case-insensitive).

Ejemplos

Ejemplo 1: Extracción básica de números

Supongamos que queremos extraer el código numérico de una cadena de texto mezclada. El patrón "\d+" busca uno o más dígitos consecutivos.

A B
1 Pedido: #4589 – Completado 4589
2 Ref: A-9902 v2 9902
=REGEXEXTRACT(A1; "\d+")

Ejemplo 2: Extraer el dominio de un correo electrónico

Extrae todo lo que sigue al símbolo «@». El patrón busca el carácter «@» seguido de cualquier carácter que no sea espacio.

=REGEXEXTRACT("[email protected]"; "@.+") -> Resultado: "@empresa.com"
// Para obtenerlo sin el @, podríamos usar grupos de captura o ajustar el patrón.

Ejemplo 3: Obtener todas las coincidencias (Modo de devolución 1)

Si una celda contiene múltiples elementos que queremos extraer por separado (por ejemplo, hashtags), usamos el tercer argumento con valor 1. Esto devolverá una matriz dinámica.

=REGEXEXTRACT("Hoy es #lunes y me siento #genial #excel"; "#\w+"; 1)

Resultado (desbordará en 3 celdas horizontales): #lunes, #genial, #excel.

Observaciones

Importante sobre el nombre: Microsoft está desplegando estas funciones gradualmente. En la versión en español, es posible que encuentres esta función traducida como EXTRAE.REGEX. Si REGEXEXTRACT no funciona, prueba con la versión traducida.

La función utiliza el motor de expresiones regulares estándar (generalmente compatible con PCRE2), lo que permite el uso de clases de caracteres, cuantificadores y búsquedas avanzadas.

Errores comunes

  • #¡VALOR! Ocurre si el argumento patrón no es una expresión regular válida (por ejemplo, un paréntesis sin cerrar).
  • #N/A Ocurre si no se encuentra ninguna coincidencia para el patrón especificado dentro del texto.
  • #¿NOMBRE? Ocurre si tu versión de Excel no es compatible con esta función o si estás usando el nombre en inglés en una versión configurada en español (prueba EXTRAE.REGEX).

Disponibilidad por versión de Excel

Disponible actualmente en Excel para Microsoft 365 (inicialmente en el canal Beta/Insider desde mediados de 2024). No está disponible en Excel 2019, 2021 ni versiones perpetuas anteriores.

Compatibilidad

Software Compatibilidad Notas Alternativa
Microsoft Excel 365 ✔️ Despliegue gradual. Puede llamarse EXTRAE.REGEX.
Microsoft Excel (2019/2021) Requiere VBA o Power Query. EXTRAE combinado con HALLAR
Google Sheets ✔️ La función se llama igual, pero no admite los argumentos 3 y 4 (modo y mayúsculas) de la misma forma nativa.
LibreOffice Calc Soporta Regex dentro de funciones como BUSCAR, pero no tiene una función nativa dedicada de extracción directa sin extensiones.
Apple Numbers ✔️ Soporta funciones Regex similares (REGEX.EXTRACT).

Funciones Relacionadas

  • REGEXREPLACE (o REEMPLAZA.REGEX) Reemplaza texto usando patrones Regex.
  • REGEXTEST (o PRUEBA.REGEX) Comprueba si un texto cumple con un patrón (devuelve VERDADERO/FALSO).
  • EXTRAE Extrae caracteres de una cadena basándose en posiciones fijas.
  • FILTRAR Puede usarse junto con funciones de prueba para filtrar matrices.

Ver también...