Necesito una funcion de inversion

18/09/2008 - 13:10 por SOREN | Informe spam
Hola :
Tengo un campo que tiene una fecha en este formato 20080918 y quiero
convertirlo en 18-09-2008 sin usar la concatenacion - es decir extraer los
distintos elementos, año, mes y dia por separado y luego unirlos-.

Muchas gracias por anticipado

Preguntas similare

Leer las respuestas

#1 Juan M
18/09/2008 - 13:25 | Informe spam
Hola,

Si la fecha está formateada siempre con 4 dígitos para el año dos para el
mes y dos para el día, prueba la siguiente función

en A1 con el valor de la fecha

þCHA(IZQUIERDA(A1;4);EXTRAE(A1;5;2);DERECHA(A1;2))

Un saludo,
Juan


"SOREN" escribió
Hola :
Tengo un campo que tiene una fecha en este formato 20080918 y quiero
convertirlo en 18-09-2008 sin usar la concatenacion - es decir extraer los
distintos elementos, año, mes y dia por separado y luego unirlos-.

Muchas gracias por anticipado
Respuesta Responder a este mensaje
#2 Héctor Miguel
18/09/2008 - 15:32 | Informe spam
hola, !

Tengo un campo que tiene una fecha en este formato 20080918
y quiero convertirlo en 18-09-2008 sin usar la concatenacion
-es decir extraer los distintos elementos, a#o, mes y dia por separado y luego unirlos-.



puedes hacerlo en su mismo lugar ejecutando una instruccion vba desde la ventana de inmediato
- abre el editor de vba (atajo: alt + F11)
- muestra la ventana de inmediato (atajo: ctrl + G)
- copia/pega (o escribe) lo siguiente, y pulsas enter para ejecutarla:

suponiendo que solo es la celda activa:
activecell = format(activecell, "0000/00/00")

suponiendo que son varias celdas en la columna A (ajusta segun tus datos reales):
[a2:a12] = [transpose(transpose(text(a2:a12,"0000""/""00""/""00")))]

o bien:
[a2:a12] = [transpose(transpose(text(a2:a12,"0000\/00\/00")))]

saludos,
hector.
Respuesta Responder a este mensaje
#3 SOREN
18/09/2008 - 15:50 | Informe spam
Muchisimas gracias a los dos, sois muy amables. Lo pondré en practica.


"Héctor Miguel" escribió:

hola, !

> Tengo un campo que tiene una fecha en este formato 20080918
> y quiero convertirlo en 18-09-2008 sin usar la concatenacion
> -es decir extraer los distintos elementos, a#o, mes y dia por separado y luego unirlos-.

puedes hacerlo en su mismo lugar ejecutando una instruccion vba desde la ventana de inmediato
- abre el editor de vba (atajo: alt + F11)
- muestra la ventana de inmediato (atajo: ctrl + G)
- copia/pega (o escribe) lo siguiente, y pulsas enter para ejecutarla:

suponiendo que solo es la celda activa:
activecell = format(activecell, "0000/00/00")

suponiendo que son varias celdas en la columna A (ajusta segun tus datos reales):
[a2:a12] = [transpose(transpose(text(a2:a12,"0000""/""00""/""00")))]

o bien:
[a2:a12] = [transpose(transpose(text(a2:a12,"0000\/00\/00")))]

saludos,
hector.



Respuesta Responder a este mensaje
#4 SOREN
22/09/2008 - 09:08 | Informe spam
Gracias Pepe pero hasta donde yo se El "texto en columnas" lo que hace es
fragmentar el contenido de una celda en otras tantas celdas. Lo que yo
pretendia era traspasar la cadena 20080922 en la misma celda a 22/09/2008
-fijate que el año en la primera esta a la izquierda, si estuviera en el
orden correcto no habria problema.-

Gracias otra vez.

"pepe" escribió:

aunque ya tienes dos respuestas te envío una tercera que utilizo
habitualmente.
Es la opción del menú datos, Texto en columnas. Mediante esa opción,
seleccionas el campo afectado y el formato de fecha que desees.


"SOREN" escribió en el mensaje de noticias
news:
> Hola :
> Tengo un campo que tiene una fecha en este formato 20080918 y quiero
> convertirlo en 18-09-2008 sin usar la concatenacion - es decir extraer los
> distintos elementos, año, mes y dia por separado y luego unirlos-.
>
> Muchas gracias por anticipado

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida