sábado, 14 de junio de 2014

Obtener día de la semana

En los múltiples clientes para los que he trabajado, me han pedido múltiples cosas a partir de un campo de tipo fecha.

Una que es recursiva, es obtener el día. Alguien puede pensar que es una petición sencilla, pero esa petición puede significar tres cosas. Obtener el número del día, el nombre del día y el orden del día dentro de la semana.

Me explico. Hoy es 14/6/14 y es sábado.

Entonces veremos lo que podemos obtener con una columna calculada:

Día:
=DAY([Fecha])
Nos devuelve:
14

Nombre del día:
=TEXT(WEEKDAY([Fecha]); "dddd")
Nos devuelve:
sábado

Nombre del día corto:
=TEXT(WEEKDAY([Fecha]); "ddd")
Nos devuelve:
sá.

Recordad que si queréis que la letra inicial aparezca en mayúsculas, bastaría con englobar todo con PROPER:
=PROPER(TEXT(WEEKDAY([Fecha]); "dddd"))
Nos devuelve:
Sábado

Por último podemos necesitar el número del día dentro de la semana, para poder ordenar de lunes a domingo, o de domingo a sábado si trabajamos para países anglosajones.

Número del día de la semana:
=WEEKDAY([Fecha];2)
Nos devolverá:
6

Sí estuviéramos trabajando para una empresa anglosajona:
=WEEKDAY([Fecha];1)
Nos devolverá:
7

Sí quisiéramos que el lunes fuese 0, bastaría con:
=WEEKDAY([Fecha];0)
Nos devolverá:
0

Fuentes:
https://support.office.com/en-us/article/WEEKDAY-function-a9784177-5c31-4deb-bc9e-d4ab914983ca
https://msdn.microsoft.com/es-es/library/office/bb862071(v=office.14).aspx