Tengo una columna con formato de texto 20110408_2041
. ¿Cómo puedo formatearlo al formato de fecha / hora?
Tengo una columna con formato de texto 20110408_2041
. ¿Cómo puedo formatearlo al formato de fecha / hora?
Respuestas:
Suponiendo que su cadena está codificada AAAAMMDD_HHMM para Año, Mes, Día, Hora, Minuto, puede construir una fórmula de Excel para generar una celda en formato de fecha / hora.
Si la cadena está en la celda A1, entonces esta fórmula debería hacerlo:
=DATE(LEFT(A1,4),MID(A1,5,2),MID(A1,7,2))+TIME(MID(A1,10,2),RIGHT(A1,2),0)
Deberá formatear la celda correctamente para ver la porción de tiempo. Esto se prueba en LibreOffice calc, pero Excel parece tener las mismas funciones.
Suponiendo que todo el formato es YYYYMMDD_HHMM
y que el primer valor está en la celda A1, puede usar la siguiente fórmula en B1:
=DATEVALUE(MID(A1,7,2) & "/" & MID(A1,5,2) & "/" & MID(A1,1,4)) + TIMEVALUE(MID(A1,10,2) & ":" & MID(A1,12,2))
Esto crea un número de serie de fecha basado en DD / MM / AAAA usando la función MID para reunir cada parte, y la función DATEVALUE para devolver el número de serie. Luego agrega a esto el número de serie de tiempo que usa la función MID de manera similar para reunir las horas y los minutos.
Luego puede formatear la celda como formato de fecha, formato de hora o un formato personalizado de dd / mm / aaaa hh: mm para ver el resultado final. Simplemente haga clic con el botón derecho en la celda, elija Formatear celdas y configure de forma similar a la captura de pantalla siguiente:
Aquí hay una captura de pantalla del resultado final:
Tuve el mismo problema y solo hice una cosa simple:
=R1*1
en S1, con el formato seleccionado como Tiempo, y funcionó. No se necesitaba ningún código complicado ni nada más.
Puede hacerlo escribiendo un pequeño script (con C # por ejemplo) que lea las cadenas de la columna, las convierta al formato de fecha y hora y luego las guarde nuevamente en la columna de Excel.
Lo siento, no sé si puedes hacerlo directamente desde Excel.