jueves, 20 de septiembre de 2018

Convertir fecha en texto a fecha

Recientemente un usuario preguntaba a través de un email por la forma de convertir una fecha en texto, del tipo 'martes, 11 de septiembre de 2018', en una fecha operable tipo: '11/09/2018'.

Para ello emplearemos algunas funciones de Texto como SUSTITUIR, LARGO, DERECHA o ENCONTRAR y una función de tiempo importante FECHANUMERO (ya mencionada aquí)

Partiremos de una fecha escrita sin más... en B2:
martes, 11 de septiembre de 2018
y en B3 insertamos la fórmula:
=FECHANUMERO(DERECHA(SUSTITUIR(B2;" de ";"/");LARGO(SUSTITUIR(B2;" de ";"/"))-ENCONTRAR(" ";SUSTITUIR(B2;" de ";"/"))))

Convertir fecha en texto a fecha



El trabajo de la función tiene básicamente tres pasos.
Primero:
eliminar la preposición del texto 'martes, 11 de septiembre de 2018' y sustituirlo por la / separadora, lo que conseguimos con la función:
SUSTITUIR(B2;" de ";"/")
lo que nos devolvería
'martes, 11/septiembre/2018'

En el segundo paso necesitamos eliminar el día de la semana del principio... para ello empleamos la combinación de la función DERECHA con LARGO y ENCONTRAR para discriminar y quedarnos solo con la parte de la fecha del mes...
Por tanto la fórmula
DERECHA(SUSTITUIR(B2;" de ";"/");LARGO(SUSTITUIR(B2;" de ";"/"))-ENCONTRAR(" ";SUSTITUIR(B2;" de ";"/")))
nos devuelve...
'11/septiembre/2018'

Lo cual nos lleva a la tercera y última fase, donde con la función FECHANUMERO convertiremos el texto en fecha
=FECHANUMERO(DERECHA(SUSTITUIR(B2;" de ";"/");LARGO(SUSTITUIR(B2;" de ";"/"))-ENCONTRAR(" ";SUSTITUIR(B2;" de ";"/"))))
retornando
11/09/2018
como queríamos.


Es una fórmula algo laboriosa, pero no se me ha ocurrido nada más directo ni sencillo...

2 comentarios:

  1. Hola Ismael, parecería que también con esta formula funcionaría si el formato del texto es constante.
    =FECHANUMERO(SUSTITUIR(EXTRAE(A1;HALLAR(" ";A1)+1;40);" de ";"/"))

    ResponderEliminar
    Respuestas
    1. Gracias Federico,
      correcto, es una variante a la solución dada
      Un cordial saludo

      Eliminar

Nota: solo los miembros de este blog pueden publicar comentarios.