Funcions d'Excel WORKDAY i NETWORKDAYS per calcular els dies laborables

  • Comparteix Això
Michael Brown

Aquest breu tutorial explica l'ús de les funcions NETWORKDAYS i WORKDAY d'Excel per calcular els dies laborables amb paràmetres de cap de setmana i festius personalitzats.

Microsoft Excel ofereix dues funcions especialment dissenyades per calcular els dies laborables: WORKDAY i WORKDAY NETWORKDAYS.

La funció WORKDAY retorna una data N dies laborables en el futur o en el passat i la podeu utilitzar per afegir o restar dies laborables a una data determinada.

Utilitzant la funció NETWORKDAYS , podeu calcular el nombre de dies laborables entre dues dates que especifiqueu.

A Excel 2010 i superior, hi ha disponibles modificacions més potents de les funcions esmentades anteriorment, WORKDAY.INTL i NETWORKDAYS.INTL, que us permeten definir quins i quants dies són dies de cap de setmana.

I ara, analitzem cada funció amb més detall i veiem com podeu utilitzar-la per calcular els dies laborables a els vostres fulls de treball d'Excel.

    Funció Excel WORKDAY

    La funció Excel WORKDAY retorna una data que és un nombre determinat de dies laborables abans o abans de la data d'inici. S'exclou els caps de setmana i els festius que especifiqueu.

    La funció WORKDAY està pensada per calcular dies laborables, fites i dates de venciment en funció del calendari laboral estàndard, sent dissabte i diumenge els dies de cap de setmana.

    WORKDAY és una funció integrada a Excel 2007 - 365. En versions anteriors, heu d'habilitar l'anàlisi.un petit conjunt de coses essencials i deriva la resta. Us agraeixo la lectura i espero veure'l al nostre blog la setmana vinent!

    ToolPak.

    Quan utilitzeu WORKDAY a Excel, heu d'introduir els arguments següents:

    WORKDAY(data_inici, dies, [vacances])

    Els 2 primers arguments són obligatoris i l'últim és opcional :

    • Data_inici : la data a partir de la qual s'ha de començar a comptar els dies laborables.
    • Dies : el nombre de dies laborables que cal afegir o restar des de la data_inici. Un nombre positiu retorna una data futura, un nombre negatiu retorna una data passada.
    • Vacances : una llista opcional de dates que no s'han de comptar com a dies laborables. Pot ser un interval de cel·les que continguin les dates que voleu excloure dels càlculs o una constant matriu dels números de sèrie que representen les dates.

    Ara que ja coneixeu els conceptes bàsics, vegem com ho feu. podeu utilitzar la funció WORKDAY als vostres fulls de treball d'Excel.

    Com utilitzar WORKDAY per sumar o restar dies laborables fins a la data

    Per calcular els dies laborables a Excel, seguiu aquestes senzilles regles:

    • Per afegir dies laborables, introduïu un número positiu com a argument dies d'una fórmula WORKDAY.
    • Per restar dies laborables, utilitzeu un nombre negatiu a l'argument dies .

    Suposant que teniu una data d'inici a la cel·la A2, una llista de dies festius a les cel·les B2:B5 i voleu esbrinar el dates 30 dies laborables en el futur i el passat. Podeu fer-ho amb les fórmules següents:

    Per afegir 30 dies laborables a la data d'inici, exclosos els festius deB2:B5:

    =WORKDAY(A2, 30, B2:B5)

    Per restar 30 dies laborables de la data d'inici, exclosos els dies festius a B2:B5:

    =WORKDAY(A2, -30, B2:B5)

    Per calcular els dies laborables basats en a la data actual , utilitzeu la funció TODAY() com a data d'inici:

    Per afegir 30 dies laborables a la data d'avui:

    =WORKDAY(TODAY(), 30)

    Per resteu 30 dies laborables de la data d'avui:

    =WORKDAY(TODAY(), -30)

    Per proporcionar la data d'inici directament a la fórmula, utilitzeu la funció DATA:

    =WORKDAY(DATE(2015,5,6), 30)

    El La següent captura de pantalla mostra els resultats de totes aquestes i d'algunes fórmules més de WORKDAY:

    I, naturalment, podeu introduir el nombre de dies laborables per afegir/retreure de la data d'inici a alguna cel·la i, a continuació, feu referència a aquesta cel·la a la vostra fórmula. Per exemple:

    =WORKDAY(A2, C2)

    On A2 és la data d'inici i C2 és el nombre de dies que no són cap de setmana darrere (nombres negatius) o abans (nombres positius) la data d'inici, sense festius per excloure.

    Consell. A Excel 365 i 2021, podeu utilitzar WORKDAY en combinació amb SEQUENCE per generar una sèrie de dies laborables.

    La funció Excel WORKDAY.INTL

    WORKDAY.INTL és una modificació més potent de WORKDAY. funció que funciona amb paràmetres de cap de setmana personalitzats . A més de WORKDAY, retorna una data que és un nombre especificat de dies laborables en el futur o en el passat, però us permet determinar quins dies de la setmana s'han de considerar dies de cap de setmana.

    La funció WORKDAY.INTL es va introduir aExcel 2010 i, per tant, no està disponible en versions anteriors d'Excel.

    La sintaxi de la funció Excel WORKDAY.INTL és la següent:

    WORKDAY.INTL(data_inici, dies, [cap de setmana], [festes])

    Els dos primers arguments són obligatoris i són similars als de WORKDAY:

    Data_inici : la data inicial.

    Dies : el nombre de dies hàbils abans (valor negatiu) o després (valor positiu) de la data d'inici. Si s'ofereix l'argument days com a nombre decimal, es trunca a l'enter.

    Els dos darrers arguments són opcionals:

    Cap de setmana - especifica quins dies feiners haurien de ser comptats com a dies de cap de setmana. Pot ser un número o una cadena, com es mostra a continuació.

    Número Dies de cap de setmana
    1 o s'ha omès Dissabte, diumenge
    2 Diumenge, dilluns
    3 Dilluns, dimarts
    4 Dimarts, dimecres
    5 Dimecres, dijous
    6 Dijous, divendres
    7 Divendres, dissabte
    11 Només diumenge
    12 Només dilluns
    13 Només dimarts
    14 Només dimecres
    15 Només dijous
    16 Només divendres
    17 Només dissabte

    Cadena de cap de setmana : una sèrie de set 0 i 1 que representen set dies de la setmana.començant pel dilluns. 1 representa un dia no laborable i 0 representa un dia laborable. Per exemple:

    • "0000011": dissabte i diumenge són caps de setmana.
    • "1000001": dilluns i diumenge són caps de setmana.

    A primera vista , les cadenes de cap de setmana poden semblar superflues, però personalment m'agrada més aquest mètode perquè podeu fer una cadena de cap de setmana sobre la marxa sense haver de recordar cap nombre.

    Vacances : una llista opcional de dates voleu excloure del calendari laboral. Aquest pot ser un rang de cel·les que continguin les dates o una constant de matriu dels valors en sèrie que representen aquestes dates.

    Utilització de WORKDAY.INTL a Excel: exemples de fórmules

    Bé, la massa bastant gran de la teoria que acabem de parlar pot semblar bastant complicat i confús, però provar-vos amb fórmules us facilitarà molt les coses.

    Al nostre conjunt de dades, amb la data d'inici a la cel·la A2 i una llista de vacances a A5 :A8, calculem els dies laborables amb caps de setmana personalitzats.

    Per afegir 30 dies laborables a la data d'inici, divendres i dissabtes es comptabilitzen com a caps de setmana i festius a A5:A8 exclòs:

    =WORKDAY.INTL(A2, 30, 7, A5:A8)

    o

    =WORKDAY.INTL(A2, 30, "0000110", A5:A8)

    Per restar 30 dies laborables des de la data d'inici, diumenge i dilluns comptats com a caps de setmana i festius a A5:A8 exclosos :

    =WORKDAY.INTL(A2, -30, 2, A5:A8)

    o

    =WORKDAY.INTL(A2, -30, "1000001", A5:A8)

    Per afegir 10 dies laborables a la data actual , essent diumenge l'únic dia de cap de setmana, nodies festius:

    =WORKDAY.INTL(TODAY(), 10, 11)

    o

    =WORKDAY.INTL(A2, 10, "0000001")

    Al vostre full d'Excel, les fórmules poden semblar a això:

    Nota. Tant les funcions d'Excel WORKDAY com WORKDAY.INTL retornen números de sèrie que representen les dates. Per mostrar aquests números com a dates, seleccioneu les cel·les amb els números i premeu Ctrl+1 per obrir el diàleg Format cel·les . A la pestanya Número , seleccioneu Data a la llista Categoria i trieu el format de data que vulgueu. Per obtenir els passos detallats, vegeu Com canviar el format de data a Excel.

    Errors d'Excel WORKDAY i WORKDAY.INTL

    Si la fórmula d'Excel WORKDAY o WORKDAY.INTL retorna un error, és probable que el motiu sigui un dels següents:

    # L'error NUM! es produeix si:

    • una combinació dels arguments start_date i days dóna com a resultat una data no vàlida o si
    • l'argument weekend de la funció WORKDAY.INTL no és vàlid Es produeix un error .

    #VALUE! si:

    • start_date o qualsevol valor de holidays no és una data vàlida, o bé
    • days no és numèric.

    Funció NETWORKDAYS d'Excel

    La funció NETWORKDAYS d'Excel retorna el nombre de dies laborables entre dues dates, exclosos els caps de setmana i, opcionalment, els dies festius que especificar.

    La sintaxi d'Excel NETWORKDAYS és intuïtiva i fàcil de recordar:

    NETWORKDAYS(data_inici, data_final, [vacances])

    Els dos primers arguments són obligatoris i el tercer ésopcional:

    • Data_inici - data inicial a partir de la qual començarà a comptar els dies laborables.
    • Data_final - final del període per al qual esteu comptant els dies laborables.

    Tant la data d'inici com la data de finalització es compten en el nombre de dies laborables que es retorna.

    • Vacances : una llista opcional de vacances que no s'han de comptar com a dies laborables.

    Com utilitzar NETWORKDAYS a Excel - exemple de fórmula

    Suposem que teniu una llista de vacances a les cel·les A2:A5, les dates d'inici a la columna B, les dates de finalització a la columna C i voleu saber quants dies laborables hi ha entre aquestes dates. La fórmula NETWORKDAYS adequada és fàcil d'esbrinar:

    =NETWORKDAYS(B2, C2, $A$2:$A$5)

    Tingueu en compte que la funció NETWORKDAYS d'Excel retorna un valor positiu quan la data d'inici és inferior a la data de finalització i un valor negatiu si la la data de finalització és més recent que la data d'inici (com a la fila 5):

    Funció d'Excel NETWORKDAYS.INTL

    Com NETWORKDAYS, la funció NETWORKDAYS.INTL d'Excel calcula el nombre de dies laborables entre dues dates, però us permet especificar quins dies s'han de comptar com a dies de cap de setmana.

    La sintaxi de la funció NETWORKDAYS.INTL és molt semblant a NETWORKDAYS', excepte que té el [cap de setmana] addicional ] que indica quins dies de la setmana s'han de comptar com a caps de setmana.

    NETWORKDAYS.INTL( data_inici, data_final, [cap de setmana], [vacances] )

    L'argument weekend pot acceptarja sigui un número o una cadena. Els números i les cadenes de cap de setmana són exactament els mateixos que al paràmetre weekend de la funció WORKDAY.INTL.

    La funció NETWORKDAYS.INTL està disponible a Excel 365 - 2010.

    Utilitzar NETWORKDAYS.INTL a Excel - exemple de fórmula

    Usant la llista de dates de l'exemple anterior, calculem el nombre de dies laborables entre dues dates i diumenge és l'únic dia de cap de setmana. Per a això, escriviu el número 11 a l'argument weekend de la vostra fórmula NETWORKDAYS.INTL o feu una cadena de sis 0 i un 1 ("0000001"):

    =NETWORKDAYS.INTL(B2, C2, 11, $A$2:$A$5)

    O

    =NETWORKDAYS.INTL(B2, C2, "0000001", $A$2:$A$5)

    La captura de pantalla següent demostra que ambdues fórmules retornen resultats absolutament idèntics.

    Com destacar els dies laborables a Excel

    Utilitzar amb les funcions WORKDAY i WORKDAY.INTL, no només podeu calcular els dies laborables als vostres fulls de treball d'Excel, sinó que també podeu destacar-los com ho requereixi la vostra lògica empresarial. Per a això, creeu una regla de format condicional amb una fórmula WORKDAY o WORKDAY.INTL.

    Per exemple, en una llista de dates de la columna B, ressaltem només les dates futures que estiguin a 15 dies laborables a partir de la data d'avui. , exclosos dos dies festius a les cel·les A2:A3. La fórmula més òbvia que em ve al cap és la següent:

    =AND($B2>TODAY(), $B2<=WORKDAY(TODAY(), 15, $A$2:$A$3))

    La primera part de la prova lògica talla dates passades, és a dir, comproveu si una data és igual o superior a l'actual. : $B2>AVUI(). I a la segona part, comproveusi una data no supera els 15 dies laborables en el futur, exclosos els dies de cap de setmana i els festius especificats: $B2<=WORKDAY(TODAY(), 15, $A$2:$A$3)

    La fórmula sembla correcta, però un cop creeu una regla basada en ella, us adonareu que destaca malament. dates:

    Intentem esbrinar per què passa això. El problema no és amb la funció WORKDAY, com algú pot concloure. La funció és correcta, però... què fa realment? Retorna una data d'aquí a 15 dies laborables, exclosos els dies de cap de setmana (dissabte i diumenge) i festius a les cel·les A2:A3.

    D'acord, i què fa la regla basada en aquesta fórmula? Ressalta TOTES les dates que són iguals o superiors a avui i inferiors a la data que retorna la funció WORKDAY. Tu veus? Totes les dates! Si no voleu pintar els caps de setmana i els festius, heu de dir-li explícitament a Excel que no ho faci. Per tant, estem afegint dues condicions més a la nostra fórmula:

    • La funció WEEKDAY per excloure els caps de setmana: WEEKDAY($B2, 2)<6
    • La funció COUNTIF per excloure els festius : COUNTIF($A$2:$A$3, $B2)=0

    Com es demostra a la captura de pantalla següent, la fórmula millorada funciona perfectament:

    =AND($B2>TODAY(), $B2<=WORKDAY(TODAY(), 15, $A$2:$A$3), COUNTIF($A$2:$A$3, $B2)=0, WEEKDAY($B2, 2)<6)

    Com veieu, les funcions WORKDAY i WORKDAY.INTL fan que el càlcul de dies laborables a Excel sigui ràpid i senzill. Per descomptat, és probable que les vostres fórmules de la vida real siguin més sofisticades, però conèixer els conceptes bàsics ajuda molt, perquè només podeu recordar

    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.