Funció WEEKNUM d'Excel: converteix el número de setmana en data i viceversa

  • Comparteix Això
Michael Brown

Si bé Microsoft Excel ofereix una sèrie de funcions per treballar amb dies laborables, mesos i anys, només n'hi ha una disponible durant setmanes: la funció WEEKNUM. Per tant, si esteu buscant una manera d'obtenir un número de setmana a partir d'una data, WEEKNUM és la funció que voleu.

En aquest breu tutorial, parlarem breument sobre la sintaxi i els arguments d'Excel WEEKNUM, i a continuació, comenteu alguns exemples de fórmules que demostren com podeu utilitzar la funció WEEKNUM per calcular els números de setmana als vostres fulls de treball d'Excel.

    Funció d'Excel WEEKNUM - sintaxi

    La funció WEEKNUM és s'utilitza a Excel per retornar el número de setmana d'una data específica de l'any (un nombre entre 1 i 54). Té dos arguments, el primer és obligatori i el segon és opcional:

    WEEKNUM(serial_number, [return_type])
    • Serial_number : qualsevol data de la setmana el número de la qual esteu provant trobar. Aquesta pot ser una referència a una cel·la que conté la data, una data introduïda mitjançant la funció DATA o retornada per alguna altra fórmula.
    • Tipus_retorn (opcional): un número que determina en quina dia que comença la setmana. Si s'omet, s'utilitza el tipus predeterminat 1 (la setmana que comença el diumenge).

    A continuació es mostra una llista completa dels return_type valors admesos a les fórmules WEEKNUM.

    Tipus_retorn La setmana comença el
    1 o 17 o s'omet Diumenge
    2 o11 Dilluns
    12 Dimarts
    13 Dimecres
    14 Dijous
    15 Divendres
    16 Dissabte
    21 Dilluns (utilitzat al Sistema 2, consulteu els detalls a continuació).

    A la funció WEEKNUM, s'utilitzen dos sistemes de numeració de setmanes diferents:

    • Sistema 1. Es considera la setmana que conté l'1 de gener. la 1a setmana de l'any i es numera com a setmana 1. En aquest sistema, la setmana comença tradicionalment el diumenge.
    • Sistema 2. Aquest és el sistema de data setmanal ISO que forma part del Norma ISO 8601 de data i hora. En aquest sistema, la setmana comença el dilluns i la setmana que conté el primer dijous de l'any es considera la setmana 1. Es coneix comunament com el sistema de numeració setmanal europeu i s'utilitza principalment al govern i als negocis per a exercicis fiscals i cronometratge.

    Tots els tipus de retorn indicats anteriorment s'apliquen al Sistema 1, excepte el tipus de retorn 21 que s'utilitza al Sistema 2.

    Nota. A Excel =DATE(A2,1,1) - WEEKDAY(DATE(A2,1,1),2) + (B2-1)*7 + 1 i versions anteriors, només les opcions 1 i 2 estan disponibles. Els tipus de retorn de l'11 al 21 només s'admeten a Excel 2010 i Excel 2013.

    Fórmules d'Excel WEEKNUM per convertir la data en el número de la setmana (de l'1 al 54)

    La captura de pantalla següent mostra com podeu obtenir números de setmana a partir de dates amb la fórmula =WEEKNUM(A2) més senzilla:

    A l'anteriorfórmula, s'omet l'argument return_type , la qual cosa significa que s'utilitza el tipus predeterminat 1: la setmana que comença el diumenge.

    Si preferiu començar amb un altre dia de la setmana, per exemple dilluns, feu servir 2 al segon argument:

    =WEEKNUM(A2, 2)

    En lloc de fer referència a una cel·la, podeu especificar la data directament a la fórmula utilitzant la funció DATA(any, mes, dia), per exemple:

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

    La fórmula anterior retorna 16, que és el número de la setmana que conté el 15 d'abril de 2015, amb una setmana que comença el dilluns.

    En escenaris de la vida real , la funció WEEKNUM d'Excel poques vegades s'utilitza per si sola. La majoria de vegades l'utilitzaríeu en combinació amb altres funcions per realitzar diversos càlculs basats en el número de setmana, tal com es demostra en exemples addicionals.

    Com convertir el número de setmana a la data a Excel

    Tal com ho feu. acabo de veure, no és gran cosa convertir una data en un número de setmana mitjançant la funció WEEKNUM d'Excel. Però, què passa si busqueu el contrari, és a dir, convertir un número de setmana en una data? Per desgràcia, no hi ha cap funció d'Excel que pugui fer-ho immediatament. Per tant, haurem de construir les nostres pròpies fórmules.

    Suposem que teniu un any a la cel·la A2 i un número de setmana a B2 i ara voleu calcular les dates d'inici i de finalització d'aquesta setmana.

    Nota. Aquest exemple de fórmula es basa en números de setmana ISO, amb una setmana que comença el dilluns.

    La fórmula per tornar el Inicila data de la setmana és la següent:

    =DATE(A2, 1, -2) - WEEKDAY(DATE(A2, 1, 3)) + B2 * 7

    On A2 és l'any i B2 és el número de la setmana.

    Tingueu en compte que la fórmula retorna la data. com a número de sèrie i perquè es mostri com a data, heu de formatar la cel·la en conseqüència. Podeu trobar les instruccions detallades a Canviar el format de la data a Excel. I aquí teniu el resultat que retorna la fórmula:

    Per descomptat, la fórmula per convertir un número de setmana en una data no és trivial i pot trigar una estona a obtenir-se el teu cap al voltant de la lògica. De totes maneres, faré tot el possible per oferir una explicació significativa per a aquells que tinguin curiositat per baixar al fons.

    Com veieu, la nostra fórmula consta de 2 parts:

    • DATE(A2, 1, -2) - WEEKDAY(DATE(A2, 1, 3)) - calcula la data de l'últim dilluns de l'any anterior.
    • B2 * 7 - afegeix el nombre de setmanes multiplicat per 7 (el nombre de dies d'una setmana) per obtenir el dilluns (data d'inici) de la setmana en pregunta.

    En el sistema de numeració de setmanes ISO, la setmana 1 és la setmana que conté el primer dijous de l'any. En conseqüència, el primer dilluns sempre és entre el 29 de desembre i el 4 de gener. Per tant, per trobar aquesta data, hem de trobar el dilluns immediatament anterior al 5 de gener.

    A Microsoft Excel, podeu extreure un dia de la setmana de una data mitjançant la funció WEEKDAY. I podeu utilitzar la fórmula genèrica següent per obtenir el dilluns immediatament abans d'una data determinada:

    = data - DIA DE LA SETMANA( data - 2)

    Si el nostreL'objectiu final era trobar el dilluns immediatament abans del 5 de gener de l'any a A2, podríem utilitzar les següents funcions de DATA:

    =DATE(A2,1,5) - WEEKDAY(DATE(A2,1,3))

    Però el que realment necessitem no és el primer dilluns de aquest any, sinó més aviat l'últim dilluns de l'any anterior. Per tant, heu de restar 7 dies del 5 de gener i, per tant, obteniu -2 a la primera funció DATE:

    =DATE(A2,1,-2) - WEEKDAY(DATE(A2,1,3))

    En comparació amb la fórmula complicada que acabeu d'aprendre, calculant el La data de finalització de la setmana és senzilla :) Per obtenir el diumenge de la setmana en qüestió, només cal que afegiu 6 dies a la Data d'inici , és a dir, =D2+6

    Com a alternativa, podeu afegir 6 directament a la fórmula:

    =DATE(A2, 1, -2) - WEEKDAY(DATE(A2, 1, 3)) + B2 * 7 + 6

    Per assegurar-vos que les fórmules sempre proporcionen les dates adequades, mireu el següent captura de pantalla. Les fórmules de data d'inici i data de final que s'han comentat anteriorment es copien a les columnes D i E, respectivament:

    Altres maneres de convertir el número de setmana en data a Excel

    Si la fórmula anterior basada en el sistema de data setmanal ISO no compleix els vostres requisits, proveu una de les solucions següents.

    Fórmula 1. Una setmana que conté l'1 de gener és la setmana 1, setmana de dilluns a diumenge

    Com recordeu, la fórmula anterior funciona segons el sistema de dates ISO on el primer dijous de l'any es considera la setmana 1. Si treballeu amb un sistema de dates on la setmana que conté l'1 de gener es considera setmana 1, utilitzeu el següentfórmules:

    Data d'inici:

    =DATE(A2,1,1) - WEEKDAY(DATE(A2,1,1),2) + (B2-1)*7 + 1

    Data de finalització:

    =DATE(A2,1,1)- WEEKDAY(DATE(A2,1,1),2) + B2*7

    Fórmula 2. Una setmana que conté Gen-1 és la setmana 1, Dg-Ds. setmana

    Aquestes fórmules són similars a les anteriors amb l'única diferència que estan escrites per a la setmana de diumenge a dissabte.

    Data d'inici:

    =DATE(A2,1,1) - WEEKDAY(DATE(A2,1,1),1) + (B2-1)*7 + 1

    Data de finalització:

    =DATE(A2,1,1)- WEEKDAY(DATE(A2,1,1),1) + B2*7

    Fórmula 3. Comenceu a comptar sempre l'1 de gener, setmana de dilluns a diumenge

    Mentre que les fórmules anteriors tornen dilluns (o diumenge) de la setmana 1, independentment de si es troba dins d'aquest any o de l'any anterior, aquesta fórmula de data d'inici sempre retorna 1 de gener com a data d'inici de la setmana 1, independentment del dia de la setmana. Per analogia, la fórmula de la data de finalització sempre retorna 31 de desembre com a data de finalització de l'última setmana de l'any, independentment del dia de la setmana. En tots els altres aspectes, aquestes fórmules funcionen de manera similar a la Fórmula 1 anterior.

    Data d'inici:

    =MAX(DATE(A2,1,1), DATE(A2,1,1) - WEEKDAY(DATE(A2,1,1),2) + (B2-1)*7 + 1)

    Data de finalització:

    =MIN(DATE(A2+1,1,0), DATE(A2,1,1) - WEEKDAY(DATE(A2,1,1),2) + B2*7)

    Fórmula 4. Comenceu a comptar sempre l'1 de gener, setmana de diumenge a dissabte

    Per calcular les dates d'inici i finalització per a una setmana de diumenge a dissabte, només cal un petit ajust a les fórmules anteriors :)

    Data d'inici:

    =MAX(DATE(A2,1,1), DATE(A2,1,1) - WEEKDAY(DATE(A2,1,1),1) + (B2-1)*7 + 1)

    Data de finalització:

    =MIN(DATE(A2+1,1,0), DATE(A2,1,1) - WEEKDAY(DATE(A2,1,1),1) + B2*7)

    Com obtenir un mes a partir del número de setmana

    Per obtenir un mes corresponent a la setmana nombre, trobareu el primer dia d'una setmana determinada tal com s'explica a continuacióexemple i, a continuació, emboliqueu aquesta fórmula a la funció MES d'Excel com aquesta:

    =MONTH(DATE(A2, 1, -2) - WEEKDAY(DATE(A2, 1, 3)) + B2 * 7)

    Nota. Recordeu que la fórmula anterior funciona segons el sistema de dates setmanals ISO , on la setmana comença el dilluns i la setmana que conté el primer dijous de l'any es considera setmana 1. Per exemple, l'any 2016, el primer dijous és el 7 de gener, i per això la setmana 1 comença el 4-gen-2016.

    Com obtenir un número de setmana en un mes (de l'1 al 6)

    Si la vostra lògica empresarial requereix convertir una data específica al número de setmana dins del mes corresponent, podeu utilitzar la combinació de WEEKNUM, Funcions DATE i MES:

    Suposant que la cel·la A2 conté la data original, utilitzeu la fórmula següent per a una setmana que comença el dilluns (observeu el 21 a l'argument de tipus_retorn de WEEKNUM):

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

    Durant una setmana que comença el diumenge , ometeu l'argument return_type:

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

    Com sumeu els valors i trobeu la mitjana pel número de setmana

    Ara que ja sabeu com convertir una data en un número de setmana a Excel, vegem com podeu utilitzar els números de setmana en altres càlculs.

    Suposem. , tens unes xifres de vendes mensuals i vols saber el total de cada setmana.

    Per començar, esbrinem un número de setmana corresponent a cada venda. Si les dates es troben a la columna A i les vendes a la columna B, copieu la fórmula =WEEKNUM(A2) a la columna C començant a la cel·laC2.

    A continuació, feu una llista de números de setmana en una altra columna (per exemple, a la columna E) i calculeu les vendes de cada setmana utilitzant la següent fórmula SUMIF:

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

    On E2 és el número de la setmana.

    En aquest exemple, estem treballant amb una llista de vendes de març, de manera que tenim els números de la setmana del 10 al 14, com demostrat a la captura de pantalla següent:

    De manera similar, podeu calcular la mitjana de vendes per a una setmana determinada:

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

    Si la columna d'ajuda amb la fórmula WEEKNUM no s'adapta bé a la vostra disposició de dades, em sap greu dir-vos que no hi ha una manera senzilla de desfer-se'n perquè Excel WEEKNUM és una d'aquestes funcions. que no accepta arguments d'interval. Per tant, no es pot utilitzar dins de SUMPRODUCT ni de cap altra fórmula de matriu com la funció MES en un escenari similar.

    Com ressaltar les cel·les segons el número de la setmana

    Diguem que teniu una llista llarga de dates en alguna columna i només voleu destacar les que es refereixen a una setmana determinada. Tot el que necessiteu és una regla de format condicional amb una fórmula WEEKNUM similar a aquesta:

    =WEEKNUM($A2)=10

    Com es mostra a la captura de pantalla següent, la regla destaca les vendes que es van fer durant la setmana 10, que és el primera setmana de març de 2015. Com que la regla s'aplica a A2:B15, destaca els valors a les dues columnes. Podeu obtenir més informació sobre com crear regles de format condicional en aixòtutorial: format condicional d'Excel basat en un altre valor de cel·la.

    Així és com podeu calcular els números de setmana a Excel, convertir el número de setmana en data i extreure el número de setmana de la data. Amb sort, les fórmules WEEKNUM que heu après avui us resultaran útils als vostres fulls de treball. En el següent tutorial, parlarem del càlcul d'edat i anys a Excel. Us agraeixo la lectura i espero veure-us la setmana vinent!

    Michael Brown és un entusiasta de la tecnologia dedicat amb una passió per simplificar processos complexos mitjançant eines de programari. Amb més d'una dècada d'experiència en la indústria tecnològica, ha perfeccionat les seves habilitats en Microsoft Excel i Outlook, així com en Google Sheets i Docs. El bloc de Michael es dedica a compartir els seus coneixements i experiència amb altres persones, oferint consells i tutorials fàcils de seguir per millorar la productivitat i l'eficiència. Tant si sou un professional experimentat com si sou un principiant, el bloc de Michael ofereix valuoses idees i consells pràctics per treure el màxim profit d'aquestes eines de programari essencials.