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 ";"/"))))
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...
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 ";"/"))))
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...
Hola Ismael, parecería que también con esta formula funcionaría si el formato del texto es constante.
ResponderEliminar=FECHANUMERO(SUSTITUIR(EXTRAE(A1;HALLAR(" ";A1)+1;40);" de ";"/"))
Gracias Federico,
Eliminarcorrecto, es una variante a la solución dada
Un cordial saludo