Esta función nos va a devolver un número, que corresponde a una fecha dada.
Sintaxis
NUM.DE.SEMANA(numero de serie; [tipo de devolución])
Numero de serie, es un argumento obligatorio, y, es la fecha la cual queremos saber el número de semana.
Tipo, es un argumento opcional, por eso, aparece en la sintaxis, entre corchetes, y, determina que día comienza la semana, el valor predeterminado es 1, quiere decir que la semana comienza en domingo.
Los valores admitidos son los siguientes:
Para esta función, existen dos sistemas.
· Sistema 1. Quiere decir que la primera semana de año, es la semana que tiene el día 1 de enero.
· Sistema 2. La primera semana del año es aquella que contiene el primer jueves del año, basado en el sistema ISO 8601.
Recordar, también que el sistema de fechas en Excel comienza desde la fecha 1 de enero de 1900, a la cual le corresponde el numero 1, a partir de esta fecha, son números secuenciales.
Si en una celda, escribo la fecha “01/01/2022”, y, en la celda de al lado, uso la función NUM.DE.SEMANA, donde como argumento numero de serie, selecciono la celda que contiene la fecha, y, como argumento tipo, selecciono lunes como comienzo de la semana, me va a devolver 1, es decir, es la primera semana del año.
=NUM.DE.SEMANA(I1;2)
Si nos fijamos en el calendario, vemos que el día 1 de enero de 2022, es sábado.
Esto por se usa el sistema 1, si se usara el sistema 2, la primera semana, sería la del día 3 hasta el día 9 de enero, porque es la que tiene el primer jueves del año.
Si escribo la fecha “31/12/2022”, me devuelve la semana 53.
Vamos a ver un ejemplo, algo más complejo.
Tenemos fechas desde enero hasta diciembre del año 2022.
En la columna de al lado, tenemos las mismas fechas, pero solo aparece el día de la semana, para ello, he seleccionado la columna, he pulsado CTRL mas 1, para ir a formato de celdas, en la pestaña número, dentro de la ventana de categoría, selecciono personalizada.
En la ventana de la derecha, en tipo, he puesto “dddd”, quiere decir, que devuelva el nombre del día de la semana.
El modelo esta en formato de tabla.
Voy a usar la función NUM.DE.SEMANA, para que me devuelva el numero de semana de cada fecha.
Para ello, escribimos el signo igual, seguido del nombre de la función, y, abrimos un paréntesis.
=NUM.DE.SEMANA(
Seleccionamos la celda B2.
=NUM.DE.SEMANA(B2
Punto y coma, se abre la ventana tipo, donde debemos de seleccionar el día que comienza la semana.
En mi caso, la semana comienza en lunes, pues lo selecciono, cierro paréntesis, y, acepto.
=NUM.DE.SEMANA(B2;2)
Ya tenemos el número de semana de cada fecha.
Vemos que el día 3 de enero, es la semana 2.
Recordar, que se basa en el sistema 1.
El 30 de junio, es la semana 27.
Y, el 30 de diciembre, es la semana 53.
Es decir, son números correlativos desde la semana 1 hasta la semana 53.
Esto esta bien, pero quiero saber el numero de semana para cada mes, si nos fijamos en el modelo, vemos que el día 29 de enero, le corresponde el numero de semana 5, y, al día 3 de febrero, le corresponde la semana 6.
Pues, lo que quiero es que cuando pase del día 29 de enero al día 3 de febrero, este numero de semana, se reinicie, es decir, empiece de cero.
En la siguiente columna, voy a usar la función FECHA, sabemos que, a esta función, le damos el año, el mes, y, el día, y, nos lo convierte en formato de fecha.
Como argumento año, va a ser el año, lo cual debemos de usar la función AÑO, de la celda B2.
=FECHA(AÑO(B2);
Como argumento mes, va a ser el mes, por lo que debemos de usar la función MES, de la celda B2.
=FECHA(AÑO(B2);MES(B2);
Y como argumento día, va a ser el día 1.
=FECHA(AÑO(B2);MES(B2);1)
Cerramos paréntesis, y, aceptamos.
Por ejemplo, la primera fecha, es tres de enero, pues la función FECHA, nos devuelve el día 1 de enero.
En la siguiente columna, vamos a aplicar la función NUM.DE.SEMANA, a esta columna.
=NUM.DE.SEMANA(D2;2)
El día 3 de enero, pertenece a la semana 2, y, el día 1 de enero pertenece a la semana 1.
Si nos fijamos, por ejemplo, en el día 3 de enero, que es la primera venta del mes, vemos que tanto el día 3 de febrero, como la fecha devuelta por la función FECHA, ambas pertenecen a la semana 6.
Y lo que quiero, es que cuando termine un mes, la función NUM.DE.SEMANA se reinicie, pues, ya tenemos realizado el ejercicio, porque si resto la semana del 3 de febrero menos la semana del 1 de febrero, me va a devolver cero, que es lo que quiero.
=C2-E2
Vemos que, empezando desde enero, a cada fecha de enero, le pone la semana que le corresponde, pero cuando llega a febrero, se reinicia, así con el resto de los meses.
Pero, en vez de que aparezca cero, quiero que aparezca, mejor, el numero 1, que es la primera semana, para ello, voy a usar el condicional SI, donde voy a preguntar que, si la diferencia es igual a cero, que ponga el numero 1, en caso contrario, que ponga la resta.
=SI(C2-E2=0;1;C2-E2)
Ya lo tenemos solventado.
Pero, en vez de ir creando columnas adyacentes, prefiero que todo este en una sola función.
Lo primero, es saber el numero de semana de cada fecha.
=NUM.DE.SEMANA(B2;2)
Igual, que antes, le vamos a restar la fecha devuelta por la función FECHA.
=NUM.DE.SEMANA(B2;2)-NUM.DE.SEMANA(FECHA(AÑO(B2);MES(B2);1))
Tenemos los mismos resultados que antes, pero, de momento, cuando cambia de mes, le asigna el valor cero, que es el resultado de la resta.
Pero, si nos fijamos en la primera fecha, vemos que devuelve la semana 1.
Pero, no es correcto, porque el día 3 de enero, pertenece a la semana 2.
Lo único que tenemos que hacer, es al final de la función, sumar 1.
=NUM.DE.SEMANA(B3;2)-NUM.DE.SEMANA(FECHA(AÑO(B3);MES(B3);1))+1
Ahora, tenemos los números de semanas correctos, y, cuando empieza un nuevo mes, se reinicia a 1.
Lo siguiente, y, ultimo, es que los sábados, y, domingos, me aparezcan con un color gris claro tachado, pero, la fila completa.
Primero, seleccionamos todo el modelo.
Para ello, vamos a la pestaña de inicio, dentro del grupo estilos, desplegamos formato condicional, y, elegimos nueva regla.
Se abre la ventana, nueva regla de formato, donde seleccionamos la ultima opción, que es la que nos permite introducir una formula, o, función.
Voy a usar la función TEXTO, porque, aunque veamos en la celda B2, lunes, realmente, es una fecha, solo hemos cambiado el formato, para ver parte de la fecha, y, con la función TEXTO, podemos manipular la fecha.
Voy a comparar cada valor de la columna B, de momento, con sábado, para ello, en la ventana dar formato a los valores donde esta fórmula sea verdadero, escribo el signo igual, seguido de la función TEXTO, abro un paréntesis, como quiero que quede resaltada toda la fila, antes de la columna, ponemos el símbolo del dólar, ahora, ponemos la celda B2, punto y coma, entre comillas dobles, ponemos DDDD, y, cerramos el paréntesis, ponemos el signo igual, y, la palabra sábado.
Lo siguiente es dar formato, para ello, hacemos clic en formato.
Marcamos tachado, y, como color, ponemos un gris claro.
Aceptamos.
Vemos como toda la fila donde aparece sábado, aparece tachado de gris claro.
Pero, también lo quiero para el domingo, por lo que volvemos a seleccionar el modelo, menos el encabezado, desplegamos formato condicional, y, seleccionamos administrar reglas.
Se abre la ventana de administrador de reglas de formato condicionales, seleccionamos la regla, y, clic en editar regla.
Ya conocemos el operador lógico O, que nos devuelve VERDADERO, si una de las condiciones especificadas se cumple, pues lo vamos a usar para este caso, para que nos devuelva VERDADERO, si el valor de la celda es sábado, o, domingo.
Aceptamos, y, ya queda resaltado, tanto los sábados, como los domingos.
Comments