Texto de Excel para convertir el formato de fecha.

Texto de Excel para convertir el formato de fecha.

Tengo un lote de datos con varias columnas cuya fecha tiene el formato siguiente:

31 de mayo de 2014.

Estoy tratando de encontrar una manera de convertirlo a un formato de fecha útil 31/05/2014. ¿Algunas ideas?

Respuesta1

Hay algunos buenos pasos para lograrlo. Esta es una forma de hacerlo usando fórmulas y celdas auxiliares. Si necesita hacer esto sin celdas auxiliares (es decir, no desea columnas adicionales), entonces debe mencionar esto y probablemente podría crear algo de VBA para realizar la tarea.

La primera tarea es dividir la fecha en 3 partes: el año, el mes y el día. Una vez que tengas esos tres, será sencillo volver a armarlos.

Por supuesto, esto supone que sus fechassiempresiga el formato de fecha estadounidense bastante idiota © de MMM-dd-yyyy.

Esto se hizo usando la página de Microsoft.Dividir texto entre columnas usando funcionescomo ejemplo.

  1. Dividir el mes:
    Esto se consigue utilizando la searchfunción para buscar el primero -y la herramienta de división Leftpara recortarlo.

    =LEFT(A1, SEARCH("-",A1,1)-1)

    que regresa Mayde su ejemplo.

  2. Dividir el día: Es similar pero se requiere
    un uso mucho más complicado de la función. MIDNecesitamos encontrar el primero y el segundo -y luego restar la ubicación del primero del segundo para obtener la longitud del texto requerido. Este resultado es una función bastante larga:

    =MID(A1,SEARCH("-",A1,1)+1,SEARCH("-",A1,SEARCH("-",A1,1)+1)-SEARCH("-",A1,1)-1)

    devuelve SEARCH("-",A1,SEARCH("-",A1,1)+1)-SEARCH("-",A1,1)-1)la longitud mientras que SEARCH("-",A1,1)+1simplemente obtiene la primera ubicación. la MIDherramienta los corta y regresa 23de su ejemplo.

  3. Dividir el año:
    la última herramienta que necesitamos es la RIGHTherramienta.

    =RIGHT(A1,LEN(A1)-SEARCH("-",A1,SEARCH("-",A1,1)+1))

    Esto simplemente obtiene la longitud de la cadena y luego la busca dos veces y devuelve todo lo que queda a la izquierda (o a la derecha).

El problema ahora es que todavía tienes el mes en un formato de texto inutilizable. Para que sea utilizable, necesitamos usar la DATEVALUEherramienta para convertirlo. Esta herramienta no aceptará un mes por sí sola, pero aceptará una MMM YYcadena. Lo que podemos hacer es analizar el texto del mes en un número después de concatenar un año en él.

  1. Obtener el mes como un valor numérico:
    por el bien del argumento, digamos que almacenamos la primera función en la celda B1.
    DATEVALUE(B1 &" 01")devolverá la cadena de valor de fecha que Excel usa internamente, luego podemos incluirla en una MONTHfunción para devolver el valor numérico del mes:

    MONTH(DATEVALUE(B1 &" 01"))

  2. Luego podemos fusionar todo esto en una sola DATE(year,month,day)función y así convertirla en una fecha real que Excel pueda usar. El mes está en la celda B1, el día en la celda C1 y el año en D1 siguiendo el Stupid American Date Format™:

    DATE(D1, B1, C1)

    Luego regresará 23/05/2014a la celda.

  3. Si quieres ser realmente sofisticado, puedes seguir adelante y combinar todas las fórmulas anteriores en una sola.

=DATE(RIGHT(A1,LEN(A1)-SEARCH("-",A1,SEARCH("-",A1,1)+1)),MONTH(DATEVALUE(LEFT(A1, SEARCH("-",A1,1)-1)&"  1")),MID(A1,SEARCH("-",A1,1)+1,SEARCH("-",A1,SEARCH("-",A1,1)+1)-SEARCH("-",A1,1)-1))

Respuesta2

Otro enfoque simple es tomar una cuerda como31-mayo-2015y convertirlo en31-mayo-2015. Esta conversión nos permitirá utilizar elVALORFECHA()fórmula.

Entonces con datos enA1, enB1ingresar:

=DATEVALUE(SUBSTITUTE(MID(A1,FIND("-",A1)+1,2),"-","") & "-" & LEFT(A1,3) & "-" & RIGHT(A1,4))

ingrese la descripción de la imagen aquí

Respuesta3

Sé que la pregunta ha sido respondida y agradezco todos los aportes. Me gustaría agregar esta otra opción por si a alguien le resulta útil:

=DATEVALUE(CONCATENATE(MID(A1,5,2),"-",LEFT(A1,3),"-",RIGHT(A1,4)))

Esto convertirá la fecha del formato 31 de mayo de 2014 al formato 31/05/2014. Observe que en mi caso específico los meses se ingresaron con solo tres letras (por ejemplo, julio)

¡Gracias!

información relacionada