extraer dias de la semana

2 envíos / 0 nuevos
Último envío
visitante (no verificado)
Imagen de visitante
extraer dias de la semana

Cordial saludo, nunca he participado en este tipo de foros, pero ley como ayudo en un tema similar y quiciera saber si hay posibilidad de que me apoye en un tema muy similar a este otro.

Hice una matriz en excel, en la que se pretende alimentar una columna con los datos de la fecha de inicio de una serie de eventos y la idea es que por medio de una formula, se logre extraer los días de la semana que se repiten en cada una de estas fechas de inicio (lunes, martes, miércoles, jueves, viernes, sábado y domingo).

Todo muy bien, siempre y cuando las celdas contengan datos, pues cuando están vacías, excel toma la celda vacía como el número 0 y asume que representa un sábado, lo cual entorpece el cálculo. 

 

Agradezco su apoyo en este problema que me ha generado retraso en mis actividades.

Etiquetas: 

Cron
Imagen de Cron
Offline
última acción: Hace 1 año 3 meses
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntos
alta: 23/06/2010 - 12:30
Puntos: 12735
En Access hay una función que

En Access hay una función que devuelve verdadero si el argumento es una fecha, y falso si no lo es. Excel no tiene esa función definida, pero sí hay una manera de saberlo. Para esto te tendrías que crear una función definida por el usuario en VBA, porque en este lenguaje sí que hay una función que determina si el valor es una fecha o no.

 

Puedes definirte una "función definida por el usuario" y utilizarla de manera que compruebe si el valor es una fecha, y si es el caso, que escriba el día de la semana así. Para ello, abre el editor de VBA, crea un nuevo módulo y dentro escribe esta función:

 

 

 

Function ESFECHA(dato) As String

    If IsDate(dato) Then
        ESFECHA = WeekdayName(Weekday(dato, vbMonday), False, vbMonday)
    Else
        ESFECHA = "El valor no es una fecha"
    End If

End Function

 

Esto funcionaría introduciendo un valor (como no se define, es un variant, o sea que admite cualquier tipo de valor, incluso valor nulo, exccepto errores), comprueba si es una fecha (IsDate), y si lo es, calcula qué día de la semana es. WeekDay devuelve un número del 1 al 7 indicando el día de la semana, en nuestro caso tomando como valor 1 el lunes. Luego WeekDayName convierte ese número en el nombre del día, lunes, martes...

 

Para usarlo, simplemente utilízala en tu hoja así:

 

=ESFECHA(C5)

 

Un saludo

AdjuntoTamaño
File libro1.xlsm13.22 KB