numero - Fecha de Excel a la conversión de cadena
extraer fecha de un texto excel (9)
En una celda en la hoja de Excel tengo un valor de fecha como:
01/01/2010 14:30:00
Quiero convertir esa fecha en texto y también quiero que el texto se vea exactamente igual a la fecha. Entonces, el valor de fecha 01/01/2010 14:30:00
debería verse como 01/01/2010 14:30:00
pero internamente debería ser Texto.
¿Cómo puedo hacer eso en Excel?
Aquí hay otra opción. Utilice el asistente de "Texto a columnas" integrado de Excel. Se encuentra en la pestaña Datos en Excel 2007.
Si tiene seleccionada una columna, los valores predeterminados para el tipo de archivo y los delimitadores deberían funcionar, entonces le pedirá que cambie el formato de datos de la columna. Elegir texto lo fuerza al formato de texto, para asegurarse de que no esté almacenado como una fecha.
Aquí hay un enfoque de VBA:
Sub change()
toText Sheets(1).Range("A1:F20")
End Sub
Sub toText(target As Range)
Dim cell As Range
For Each cell In target
cell.Value = cell.Text
cell.NumberFormat = "@"
Next cell
End Sub
Si está buscando una solución sin programación, la Pregunta debe moverse a SuperUser.
En Excel 2010, la respuesta de marg solo funcionó para algunos de los datos que tenía en mi hoja de cálculo (se importó). La siguiente solución funcionó en todos los datos.
Sub change()
toText Selection
End Sub
Sub toText(target As range)
Dim cell As range
Dim txt As String
For Each cell In target
txt = cell.text
cell.NumberFormat = "@"
cell.Value2 = txt
Next cell
End Sub
En algunos contextos, el uso de un carácter ''de antemano funcionará, pero si lo guarda en CSV y vuelve a cargarlo, es imposible.
''01/01/2010 14:30:00
La respuesta seleccionada no funcionó porque Excel todavía no estaba convirtiendo el texto a la fecha. Aquí está mi solución.
Digamos que en la primera columna, A, tiene datos del tipo 2016/03/25 21:20:00
pero está almacenado como texto. Luego, en la columna B escriba =DATEVALUE(A1)
y en la columna C escriba =TIMEVALUE(A1)
.
Luego, en la columna D do =B1+C1
para agregar los formatos numéricos de la fecha y la hora.
Finalmente, copie los valores de D en la columna E haciendo clic derecho en la columna E y seleccione Paste Special -> Paste as Values
.
Resalte los valores numéricos en la columna E y cambie el tipo de datos a la fecha. Prefiero usar una fecha personalizada de la forma YYYY-MM-DD HH:MM:SS
.
No se pudo obtener la fórmula TEXT () para trabajar
La solución más fácil fue copiar pegar en el Bloc de notas y volver a Excel con la columna establecida en Texto antes de pegar de nuevo
O puede hacer lo mismo con una fórmula como esta
=DAY(A2)&"/"&MONTH(A2)&"/"&YEAR(A2)& " "&HOUR(B2)&":"&MINUTE(B2)&":"&SECOND(B2)
No tengo idea del año de publicación de la pregunta; podría ser viejo ahora. Por lo tanto, espero que mi respuesta sea más una referencia para futuras preguntas similares después de mi publicación.
No sé si alguien por ahí ya ha dado una respuesta similar a la que estoy a punto de dar, que podría dar como resultado -creo- la más simple, la más directa y la más efectiva: si alguien ya la ha dado, me disculpo. , pero no lo he visto Aquí, mi respuesta usando CStr en lugar de TEXTO:
La celda Asuming A1 contiene una fecha y usa el código VBA:
Dim strDate As String ''Convert to string the value contained in A1 (a date) strDate = CStr([A1].Value)
A partir de entonces, puede manipularlo como cualquier cadena ordinaria utilizando funciones de cadena (MID, LEFT, RIGHT, LEN, CONCATENATE (&), etc.)
Si no está utilizando la programación, haga lo siguiente (1) seleccione la columna (2) haga clic derecho y seleccione Formato de celdas (3) Seleccione "Personalizado" (4) Justo debajo de "Tipo:" escriba dd / mm / aaaa hh: mm : ss
=TEXT(A1,"DD/MM/YYYY hh:mm:ss")
(24 horas)
=TEXT(A1,"DD/MM/YYYY hh:mm:ss AM/PM")
(tiempo estándar)