Función WEEKNUM de Excel - convertir número de semana a fecha y viceversa

  • Compartir Este
Michael Brown

Mientras que Microsoft Excel proporciona una serie de funciones para trabajar con días de la semana, meses y años, sólo una está disponible para semanas - la función WEEKNUM. Por lo tanto, si usted está buscando una manera de obtener un número de semana a partir de una fecha, WEEKNUM es la función que desea.

En este breve tutorial, hablaremos brevemente sobre la sintaxis y los argumentos de la función WEEKNUM de Excel, y luego discutiremos algunos ejemplos de fórmulas que demuestran cómo puede utilizar la función WEEKNUM para calcular números de semana en sus hojas de cálculo de Excel.

    Función WEEKNUM de Excel - sintaxis

    La función WEEKNUM se utiliza en Excel para devolver el número de semana de una fecha concreta del año (un número entre 1 y 54). Tiene dos argumentos, el 1º es obligatorio y el 2º es opcional:

    WEEKNUM(número_de_serie, [tipo_de_retorno])
    • Número_de_serie - cualquier fecha dentro de la semana cuyo número está intentando encontrar. Puede ser una referencia a una celda que contenga la fecha, una fecha introducida mediante la función FECHA o devuelta por alguna otra fórmula.
    • Tipo_de_retorno (opcional) - un número que determina en qué día comienza la semana. Si se omite, se utiliza el tipo 1 por defecto (la semana que comienza en domingo).

    Aquí tiene una lista completa de los tipo_de_retorno valores admitidos en las fórmulas WEEKNUM.

    Tipo_de_retorno La semana comienza el
    1 o 17 u omitido Domingo
    2 o 11 Lunes
    12 Martes
    13 Miércoles
    14 Jueves
    15 Viernes
    16 Sábado
    21 Lunes (utilizado en el Sistema 2, consulte los detalles a continuación).

    En la función WEEKNUM, dos sistemas de numeración semanal se utilizan:

    • Sistema 1. La semana que contiene el 1 de enero se considera la primera semana del año y se numera como semana 1. En este sistema, la semana comienza tradicionalmente en domingo.
    • Sistema 2. Este es el sistema ISO de fecha de la semana que forma parte de la norma ISO 8601 de fecha y hora. En este sistema, la semana comienza el lunes y la semana que contiene el primer jueves del año se considera la semana 1. Se conoce comúnmente como el sistema europeo de numeración de semanas y se utiliza principalmente en el gobierno y las empresas para los años fiscales y el cronometraje.

    Todos los tipos de retorno enumerados anteriormente se aplican al Sistema 1, excepto el tipo de retorno 21 que se utiliza en el Sistema 2.

    Nota. En Excel 2007 y versiones anteriores, sólo están disponibles las opciones 1 y 2. Los tipos de retorno 11 a 21 sólo se admiten en Excel 2010 y Excel 2013.

    Fórmulas Excel WEEKNUM para convertir fecha a número de semana (de 1 a 54)

    La siguiente captura de pantalla muestra cómo obtener números de semana a partir de fechas con el método más sencillo =NÚMERO DE SEMANA(A2) fórmula:

    En la fórmula anterior, el tipo_de_retorno se omite, lo que significa que se utiliza el tipo 1 por defecto: la semana que comienza en domingo.

    Si prefiere empezar por otro día de la semana, por ejemplo el lunes, utilice 2 en el segundo argumento:

    =WEEKNUM(A2, 2)

    En lugar de hacer referencia a una celda, puede especificar la fecha directamente en la fórmula utilizando la función DATE(año, mes, día), por ejemplo:

    =WEEKNUM(FECHA(2015,4,15), 2)

    La fórmula anterior devuelve 16, que es el número de la semana que contiene el 15 de abril de 2015, con una semana que comienza el lunes.

    En la vida real, la función SUMA SEMANA de Excel rara vez se utiliza por sí sola. Lo más frecuente es utilizarla en combinación con otras funciones para realizar diversos cálculos basados en el número de la semana, como se muestra en los ejemplos siguientes.

    Cómo convertir número de semana a fecha en Excel

    Como acabas de ver, no es nada complicado convertir una fecha en un número de semana utilizando la función WEEKNUM de Excel. Pero, ¿y si lo que buscas es lo contrario, es decir, convertir un número de semana en una fecha? Desgraciadamente, no existe ninguna función de Excel que pueda hacerlo directamente, por lo que tendremos que construir nuestras propias fórmulas.

    Supongamos que tienes un año en la celda A2 y un número de semana en B2, y ahora quieres calcular las fechas de Inicio y Fin de esta semana.

    Nota: Este ejemplo de fórmula se basa en números de semana ISO, con una semana que comienza el lunes.

    La fórmula para devolver el Fecha de inicio de la semana es la siguiente:

    =FECHA(A2, 1, -2) - DÍA DE LA SEMANA(FECHA(A2, 1, 3)) + B2 * 7

    Donde A2 es el año y B2 es el número de la semana.

    Tenga en cuenta que la fórmula devuelve la fecha como un número de serie, y para que se muestre como una fecha, es necesario formatear la celda en consecuencia. Puede encontrar las instrucciones detalladas en Cambiar el formato de fecha en Excel. Y aquí está el resultado devuelto por la fórmula:

    Por supuesto, la fórmula para convertir un número de semana en una fecha no es trivial, y puede llevar un tiempo hacerse a la lógica. De todos modos, haré todo lo posible por ofrecer una explicación significativa para aquellos que sientan curiosidad por llegar al fondo del asunto.

    Como ves, nuestra fórmula consta de 2 partes:

    • FECHA(A2, 1, -2) - DÍA DE LA SEMANA(FECHA(A2, 1, 3)) - calcula la fecha del último lunes del año anterior.
    • B2 * 7 - suma el número de semanas multiplicado por 7 (el número de días de una semana) para obtener el lunes (fecha de inicio) de la semana en cuestión.

    En el sistema ISO de numeración de semanas, la semana 1 es la que contiene el primer jueves del año. Por consiguiente, el primer lunes está siempre entre el 29 de diciembre y el 4 de enero. Así pues, para encontrar esa fecha, tenemos que encontrar el lunes inmediatamente anterior al 5 de enero.

    En Microsoft Excel, puedes extraer un día de la semana de una fecha utilizando la función WEEKDAY. Y puedes utilizar la siguiente fórmula genérica para obtener el lunes inmediatamente anterior a cualquier fecha dada:

    = fecha - SEMANA( fecha - 2)

    Si nuestro objetivo final fuera encontrar el lunes inmediatamente anterior al 5 de enero del año en A2, podríamos utilizar las siguientes funciones DATE:

    =FECHA(A2,1,5) - DÍA DE LA SEMANA(FECHA(A2,1,3))

    Pero lo que en realidad necesitamos no es el primer lunes de este año, sino el último lunes del año anterior. Por lo tanto, hay que restar 7 días al 5 de enero y de ahí se obtiene -2 en la primera función DATE:

    =FECHA(A2,1,-2) - DÍA DE LA SEMANA(FECHA(A2,1,3))

    En comparación con la fórmula complicada que acabas de aprender, calcular el Fecha final de la semana es pan comido :) Para obtener el domingo de la semana en cuestión, basta con sumar 6 días al Fecha de inicio es decir =D2+6

    También puedes añadir 6 directamente en la fórmula:

    =FECHA(A2, 1, -2) - DÍA DE LA SEMANA(FECHA(A2, 1, 3)) + B2 * 7 + 6

    Para asegurarse de que las fórmulas siempre proporcionan las fechas correctas, eche un vistazo a la siguiente captura de pantalla. Las fórmulas Fecha de inicio y Fecha de finalización comentadas anteriormente se copian en las columnas D y E, respectivamente:

    Otras formas de convertir número de semana a fecha en Excel

    Si la fórmula anterior basada en el sistema ISO de fechas de la semana no satisface sus necesidades, pruebe una de las siguientes soluciones.

    Fórmula 1. Una semana que contenga Ene-1 es la semana 1, de lunes a domingo

    Como recordará, la fórmula anterior funciona basándose en el sistema de fechas ISO, en el que el primer jueves del año se considera la semana 1. Si trabaja basándose en un sistema de fechas en el que la semana que contiene el 1 de enero se considera la semana 1, utilice las siguientes fórmulas:

    Fecha de inicio:

    =FECHA(A2,1,1) - DÍA DE LA SEMANA(FECHA(A2,1,1),2) + (B2-1)*7 + 1

    Fecha de finalización:

    =FECHA(A2,1,1)-DÍA DE LA SEMANA(FECHA(A2,1,1),2) + B2*7

    Fórmula 2. Una semana que contiene Ene-1 es la semana 1, semana Sol-Sab

    Estas fórmulas son similares a las anteriores con la única diferencia de que están escritas para la semana de domingo a sábado.

    Fecha de inicio:

    =FECHA(A2,1,1) - DÍA DE LA SEMANA(FECHA(A2,1,1),1) + (B2-1)*7 + 1

    Fecha de finalización:

    =FECHA(A2,1,1)-DÍA DE LA SEMANA(FECHA(A2,1,1),1) + B2*7

    Fórmula 3. Empezar a contar siempre el 1 de enero, semana de lunes a domingo

    Mientras que las fórmulas anteriores devuelven el lunes (o domingo) de la semana 1, independientemente de si cae en este año o en el anterior, esta fórmula de fecha de inicio siempre devuelve 1 de enero como la fecha de inicio de la semana 1, independientemente del día de la semana. Por analogía, la fórmula de la fecha final siempre devuelve 31 de diciembre como la fecha final de la última semana del año, independientemente del día de la semana. En todos los demás aspectos, estas fórmulas funcionan de forma similar a la Fórmula 1 anterior.

    Fecha de inicio:

    =MAX(FECHA(A2,1,1), FECHA(A2,1,1) - DÍA DE LA SEMANA(FECHA(A2,1,1),2) + (B2-1)*7 + 1)

    Fecha de finalización:

    =MIN(FECHA(A2+1,1,0), FECHA(A2,1,1) - DÍA DE LA SEMANA(FECHA(A2,1,1),2) + B2*7)

    Fórmula 4. Empezar a contar siempre el 1 de enero, semana de sol a sábado

    Para calcular las fechas de inicio y fin de una semana de domingo a sábado, basta con hacer un pequeño ajuste en las fórmulas anteriores :)

    Fecha de inicio:

    =MAX(FECHA(A2,1,1), FECHA(A2,1,1) - DÍA DE LA SEMANA(FECHA(A2,1,1),1) + (B2-1)*7 + 1)

    Fecha de finalización:

    =MIN(FECHA(A2+1,1,0), FECHA(A2,1,1) - DÍA DE LA SEMANA(FECHA(A2,1,1),1) + B2*7)

    Cómo obtener el mes a partir del número de semana

    Para obtener el mes correspondiente al número de semana, busque el primer día de una semana determinada como se explica en este ejemplo, y luego envuelva esa fórmula en la función MES de Excel de la siguiente manera:

    =MES(FECHA(A2, 1, -2) - DÍA DE LA SEMANA(FECHA(A2, 1, 3)) + B2 * 7)

    Nota: Recuerde que la fórmula anterior se basa en la fórmula Sistema ISO de fechas semanales , donde la semana empieza el lunes y la semana que contiene el primer jueves del año se considera semana 1. Por ejemplo, en el año 2016, el primer jueves es el 7 de enero, y por eso la semana 1 empieza el 4-enero-2016.

    Cómo obtener el número de una semana en un mes (del 1 al 6)

    Si su lógica empresarial requiere convertir una fecha concreta en el número de semana dentro del mes correspondiente, puede utilizar la combinación de las funciones WEEKNUM, DATE y MONTH:

    Suponiendo que la celda A2 contiene la fecha original, utilice la siguiente fórmula para una semana que comienza el Lunes (observe 21 en el argumento return_type de WEEKNUM):

    =WEEKNUM($A2,21)-WEEKNUM(FECHA(AÑO($A2), MES($A2),1),21)+1

    Durante una semana a partir del Domingo omita el argumento return_type:

    =WEEKNUM($A2)-WEEKNUM(DATE(YEAR($A2), MONTH($A2),1))+1

    Cómo sumar valores y hallar la media por el número de semana

    Ahora que ya sabe cómo convertir una fecha en un número de semana en Excel, veamos cómo puede utilizar los números de semana en otros cálculos.

    Supongamos que dispone de unas cifras de ventas mensuales y desea conocer el total de cada semana.

    Para empezar, averigüemos el número de semana correspondiente a cada venta. Si sus fechas están en la columna A y las ventas en la columna B, copie el =NÚMERO DE SEMANA(A2) a través de la columna C comenzando en la celda C2.

    A continuación, haga una lista de los números de semana en alguna otra columna (digamos, en la columna E) y calcule las ventas de cada semana utilizando la siguiente fórmula SUMIF:

    =SUMIF($C$2:$C$15, $E2, $B$2:$B$15)

    Donde E2 es el número de la semana.

    En este ejemplo, estamos trabajando con una lista de ventas de marzo, por lo que tenemos los números de semana 10 a 14, como se demuestra en la siguiente captura de pantalla:

    De forma similar, puede calcular la media de ventas de una semana determinada:

    =AVERAGEIF($C$2:$C$15, $E2, $B$2:$B$15)

    Si la columna de ayuda con la fórmula WEEKNUM no encaja bien en tu diseño de datos, lamento decirte que no hay una forma sencilla de deshacerse de ella porque WEEKNUM de Excel es una de esas funciones que no acepta argumentos de rango. Por lo tanto, no se puede utilizar dentro de SUMPRODUCT o cualquier otra fórmula de rango como la función MONTH en un escenario similar.

    Cómo resaltar celdas en función del número de semana

    Supongamos que tiene una larga lista de fechas en alguna columna y desea resaltar sólo las que se refieren a una semana determinada. Todo lo que necesita es una regla de formato condicional con una fórmula WEEKNUM similar a ésta:

    =WEEKNUM($A2)=10

    Como se muestra en la captura de pantalla a continuación, la regla resalta las ventas que se realizaron dentro de la semana 10, que es la primera semana de marzo de 2015. Dado que la regla se aplica a A2:B15, resalta los valores en ambas columnas. Puede obtener más información sobre la creación de reglas de formato condicional en este tutorial: Formato condicional de Excel basado en otro valor de celda.

    Así es como puedes calcular los números de semana en Excel, convertir el número de semana en fecha y extraer el número de semana de la fecha. Esperemos que las fórmulas WEEKNUM que has aprendido hoy te resulten útiles en tus hojas de trabajo. En el próximo tutorial, hablaremos sobre el cálculo de la edad y los años en Excel. Te doy las gracias por leer y ¡espero verte la semana que viene!

    Michael Brown es un entusiasta de la tecnología dedicado y apasionado por simplificar procesos complejos utilizando herramientas de software. Con más de una década de experiencia en la industria de la tecnología, ha perfeccionado sus habilidades en Microsoft Excel y Outlook, así como en Google Sheets y Docs. El blog de Michael está dedicado a compartir su conocimiento y experiencia con otros, brindando consejos y tutoriales fáciles de seguir para mejorar la productividad y la eficiencia. Ya sea un profesional experimentado o un principiante, el blog de Michael ofrece información valiosa y consejos prácticos para aprovechar al máximo estas herramientas de software esenciales.