Formato de fecha en Excel 2007

Resuelto
f1gp Mensajes publicados 27 Estado Miembro -  
 lilouwe -
Hola,
A pesar de las investigaciones en la ayuda de Excel, no consigo obtener el siguiente resultado:
En la fila 2, tengo fechas (del 01/01/2010 al 31/01/2010) he aplicado el formato personalizado "j" y obtengo el día en número en forma de: 1, 2, 3... Quiero obtener en la fila 1 la primera letra del día en mayúscula.
Ejemplo: A2 = 1 (para el 01/01/2010) --> A1 = V (para viernes en mayúscula)
Ejemplo: B2 = 2 (para el 02/01/2010) --> B1 = S (para sábado en mayúscula)

He intentado con las variantes "=TEXTO..." pero no he conseguido el resultado deseado
Configuración: Windows Vista Internet Explorer 7.0

2 respuestas

dobo69 Mensajes publicados 1593 Fecha de registro   Estado Miembro Última intervención   835
 
hola,
no hay un formato de celda que permita esto directamente, hay que pasar por una función.
por ejemplo:

=MAYUSCULA(IZQUIERDA(TEXTO(DIASEM(A2);"dddd");1))

donde la fecha base está en A2 en este ejemplo.
--
Si no necesita nada, pregúnteme.
12
f1gp Mensajes publicados 27 Estado Miembro 1
 
Hola dobo69,

¡Y GRACIAS por la respuesta!
Pensé que tendría que pasar por una función SI a varios niveles, pero al final cuentas con una función muy eficiente. Me pregunto qué elemento de esta función permite la visualización de la primera letra del día? "jjjj"??? Al final, tengo la solución y eso es lo más importante.

Atentamente y nuevamente gracias.
0
lilouwe
 
¡Muchas gracias! :)
0
lilouwe
 
En realidad, la fórmula correcta es =MAYUSCULA(IZQUIERDA(TEXTO(A4;"jjjj");1)), porque de lo contrario devuelve el día correspondiente a 1904...
0
dobo69 Mensajes publicados 1593 Fecha de registro   Estado Miembro Última intervención   835
 
en orden :
1) DIASEM() devuelve el día de la semana de la fecha en forma de un número del 1 al 7 (con 1=Domingo por defecto)
2) TEXTO(...;"jjjj") : convierte en texto este número de semana (se necesita el formato de celda "jjjj" para obtener un texto del tipo lunes, martes, etc.)
3)IZQUIERDA(...;1) : recupera el primer carácter del texto en cuestión
4)MAYÚSCULAS() : como su nombre indica...

Esto puede funcionar con Si, pero es un poco pesado porque hay que apilar 7 niveles de anidación repitiendo 7 veces la referencia a la celda....(=Si(diasem(A1)=1;"L";Si(diasem(A1)=2; ...etc). Para simplificarlo es mejor pasar por una celda intermedia = diasem(A1) para aligerar la escritura...

--
Si no necesita nada, pídame.
3
f1gp Mensajes publicados 27 Estado Miembro 1
 
¡Está perfectamente claro esta vez!
Voy a conservar tu solución y tu demostración cuidadosamente para usos futuros...

Atentamente
0