Dividir un texto según un patrón en Excel

Última actualización el 26/02/2025
Tiempo de leer: 3 minutos

Dividir un texto según un patrón en Excel es posible y es súper fácil

  1. La función MID. La función MID es una de las primeras funciones de Excel, pero su capacidad aumenta si la usa con una matriz.
  2. Escribe tu patrón en una matriz. Si su patrón es siempre el mismo, puede especificarlo y Excel dividirá su texto de acuerdo con él.
  3. Trucos! Escribe la salida en cualquier posición 😀La belleza de este truco es que puedes escribir la subcadena en cualquier lugar de tu salida.

Técnica antigua (la que todos usaban 😉)

Digamos que tiene una fecha en el formato AAAAMMDD. Puedes usar esta tecnica para convertirlo en una fecha o escribir la siguiente fórmula.

=DERECHA([@[Fecha AAAAMMJJ]],2)&"/"&MEDIO([@[Fecha AAAAMMJJ]],5,2)&"/"&IZQUIERDA([@[Fecha AAAAMMJJ]],4)

Antigua técnica para dividir texto según un patrón.

Elaborar una fórmula de este tipo no es fácil para muchas personas y podría ser fuente de confusión. Sin embargo, ahora existe una mejor manera de hacer el mismo trabajo. 😀👍

Dividir texto según un patrón fijo

Comencemos con esta situación. Tienes una lista de códigos de colores hexadecimales en la columna A. Quieres dividir el código en grupos de 2 dígitos: rojo, verde y azul.

Cómo dividir los códigos de colores hexadecimales

La sección Función MID extrae una subcadena de una cadena de acuerdo con

  1. El texto
  2. Posición de salida
  3. Número de caracteres a extraer

=MEDIO(texto,posición inicial, longitud)

Pero podemos reemplazar el Posición de salida y de largo con una matriz. Una matriz es fácil de crear en Excel. Escribes los valores que quieras entre llaves; {valor1,valor2,valor3,....}.

Entonces, en esta situación, queremos extraer una subcadena de 2 dígitos comenzando desde las posiciones 1, 3 y 5. Y así, con una sola fórmula, hemos dividido la cadena según un patrón.

Dividir con un patrón de 2 dígitos en Excel

Extraer diferentes longitudes

En este otro ejemplo, tenemos VIN (VIN = Número Internacional de Vehículo). Un VIN tiene la siguiente información.

  • El identificador mundial de fabricante (WMI) son los primeros 3 dígitos
  • La Sección Descriptor del Vehículo (VDS), entre los dígitos 4 y 9
  • Identificación del vehículo (VIS), los últimos 8 dígitos

En este caso debemos escribir dos matrices

  • La primera matriz es la posición inicial de las 3 subcadenas: 1, 4, 10
  • La segunda matriz de la longitud de cada subcadena: 3, 6, 8
Dividir un VIN con un patrón

Devolver el resultado en otro orden

En la última situación, su salida también se puede escribir en un orden diferente al del texto original. El mejor ejemplo es una fecha con el formato AAAAMMDD

Cómo convertir la fecha AAAAMMDD con la función MID
  • La matriz de longitud es la misma para ambas fórmulas {2,2,4}
  • La matriz de posición inicial debe reflejar nuestra salida.
  • Para el formato de fecha DD/MM/AAAA, el patrón para dividir la fecha es {7,5,1}
Fecha de división para volver dd mm aaaa
  • Para el formato de fecha MM/DD/AAAA, el patrón es {5,7,1}
Dividiendo la fecha del texto para devolver mm dd aaaa

7 Comentarios

  1. Lars
    19/02/2025 a las 06:54

    La nueva función REGEX es un método alternativo
    =REGEXREPLACE(A1,
    "(\d{4})(\d{2})(\d{2})", "$3$2$1")

    Responder

    • Frédéric LE GUEN
      19/02/2025 a las 09:17

      Sí, es cierto. Pero mis trucos son más accesibles para cualquiera 😉
      Gracias por compartir.

      Responder

  2. Rick Rothstein
    04/01/2025 a las 01:47

    Para "fechas" presentadas así...

    20240713

    Podrías producir las fechas de texto que mostraste antes de esta manera...

    =TEXTO(Tabla1[Fecha AAAAMMJJ],"0000\/00\/00")

    Si querías citas reales de ellos, simplemente antepón el 0+ así...

    =0+TEXT(Table1[Date YYYYMMJJ],"0000\/00\/00")

    Responder

    • Frédéric LE GUEN
      04/01/2025 a las 02:11

      Verdadero 👍 O "--" también funciona

      Responder

      • Rick Rothstein
        04/01/2025 a las 02:53

        No me gusta el signo doble negativo porque creo que no se destaca lo suficiente... el 0+ es mucho más fácil de ver, así que tiendo a usarlo.

  3. Néstor Cirhuza
    21/11/2024 a las 04:56

    Me gusta este truco. Genial.

    Responder

  4. Crispo Mwangi
    21/10/2024 a las 18:19

    ¡Buen material!

    Responder

Deje un comentario

Su dirección de correo electrónico no será publicada. Las areas obligatorias están marcadas como requeridas *

Dividir un texto según un patrón en Excel

Tiempo de leer: 3 minutos
Última actualización el 26/02/2025

Dividir un texto según un patrón en Excel es posible y es súper fácil

  1. La función MID. La función MID es una de las primeras funciones de Excel, pero su capacidad aumenta si la usa con una matriz.
  2. Escribe tu patrón en una matriz. Si su patrón es siempre el mismo, puede especificarlo y Excel dividirá su texto de acuerdo con él.
  3. Trucos! Escribe la salida en cualquier posición 😀La belleza de este truco es que puedes escribir la subcadena en cualquier lugar de tu salida.

Técnica antigua (la que todos usaban 😉)

Digamos que tiene una fecha en el formato AAAAMMDD. Puedes usar esta tecnica para convertirlo en una fecha o escribir la siguiente fórmula.

=DERECHA([@[Fecha AAAAMMJJ]],2)&"/"&MEDIO([@[Fecha AAAAMMJJ]],5,2)&"/"&IZQUIERDA([@[Fecha AAAAMMJJ]],4)

Antigua técnica para dividir texto según un patrón.

Elaborar una fórmula de este tipo no es fácil para muchas personas y podría ser fuente de confusión. Sin embargo, ahora existe una mejor manera de hacer el mismo trabajo. 😀👍

Dividir texto según un patrón fijo

Comencemos con esta situación. Tienes una lista de códigos de colores hexadecimales en la columna A. Quieres dividir el código en grupos de 2 dígitos: rojo, verde y azul.

Cómo dividir los códigos de colores hexadecimales

La sección Función MID extrae una subcadena de una cadena de acuerdo con

  1. El texto
  2. Posición de salida
  3. Número de caracteres a extraer

=MEDIO(texto,posición inicial, longitud)

Pero podemos reemplazar el Posición de salida y de largo con una matriz. Una matriz es fácil de crear en Excel. Escribes los valores que quieras entre llaves; {valor1,valor2,valor3,....}.

Entonces, en esta situación, queremos extraer una subcadena de 2 dígitos comenzando desde las posiciones 1, 3 y 5. Y así, con una sola fórmula, hemos dividido la cadena según un patrón.

Dividir con un patrón de 2 dígitos en Excel

Extraer diferentes longitudes

En este otro ejemplo, tenemos VIN (VIN = Número Internacional de Vehículo). Un VIN tiene la siguiente información.

  • El identificador mundial de fabricante (WMI) son los primeros 3 dígitos
  • La Sección Descriptor del Vehículo (VDS), entre los dígitos 4 y 9
  • Identificación del vehículo (VIS), los últimos 8 dígitos

En este caso debemos escribir dos matrices

  • La primera matriz es la posición inicial de las 3 subcadenas: 1, 4, 10
  • La segunda matriz de la longitud de cada subcadena: 3, 6, 8
Dividir un VIN con un patrón

Devolver el resultado en otro orden

En la última situación, su salida también se puede escribir en un orden diferente al del texto original. El mejor ejemplo es una fecha con el formato AAAAMMDD

Cómo convertir la fecha AAAAMMDD con la función MID
  • La matriz de longitud es la misma para ambas fórmulas {2,2,4}
  • La matriz de posición inicial debe reflejar nuestra salida.
  • Para el formato de fecha DD/MM/AAAA, el patrón para dividir la fecha es {7,5,1}
Fecha de división para volver dd mm aaaa
  • Para el formato de fecha MM/DD/AAAA, el patrón es {5,7,1}
Dividiendo la fecha del texto para devolver mm dd aaaa

7 Comentarios

  1. Lars
    19/02/2025 a las 06:54

    La nueva función REGEX es un método alternativo
    =REGEXREPLACE(A1,
    "(\d{4})(\d{2})(\d{2})", "$3$2$1")

    Responder

    • Frédéric LE GUEN
      19/02/2025 a las 09:17

      Sí, es cierto. Pero mis trucos son más accesibles para cualquiera 😉
      Gracias por compartir.

      Responder

  2. Rick Rothstein
    04/01/2025 a las 01:47

    Para "fechas" presentadas así...

    20240713

    Podrías producir las fechas de texto que mostraste antes de esta manera...

    =TEXTO(Tabla1[Fecha AAAAMMJJ],"0000\/00\/00")

    Si querías citas reales de ellos, simplemente antepón el 0+ así...

    =0+TEXT(Table1[Date YYYYMMJJ],"0000\/00\/00")

    Responder

    • Frédéric LE GUEN
      04/01/2025 a las 02:11

      Verdadero 👍 O "--" también funciona

      Responder

      • Rick Rothstein
        04/01/2025 a las 02:53

        No me gusta el signo doble negativo porque creo que no se destaca lo suficiente... el 0+ es mucho más fácil de ver, así que tiendo a usarlo.

  3. Néstor Cirhuza
    21/11/2024 a las 04:56

    Me gusta este truco. Genial.

    Responder

  4. Crispo Mwangi
    21/10/2024 a las 18:19

    ¡Buen material!

    Responder

Deje un comentario

Su dirección de correo electrónico no será publicada. Las areas obligatorias están marcadas como requeridas *