Sadržaj
Ovaj kratki vodič objašnjava upotrebu funkcija Excel NETWORKDAYS i WORKDAY za izračun radnih dana s prilagođenim parametrima vikenda i praznika.
Microsoft Excel nudi dvije funkcije posebno dizajnirane za izračun radnih dana - WORKDAY i NETWORKDAYS.
Funkcija WORKDAY vraća datum N radnih dana u budućnosti ili u prošlosti i možete je koristiti za dodavanje ili oduzimanje radnih dana zadanom datumu.
Koristeći funkciju NETWORKDAYS možete izračunati broj radnih dana između dva datuma koja navedete.
U programu Excel 2010 i novijim verzijama dostupne su snažnije izmjene gore navedenih funkcija, WORKDAY.INTL i NETWORKDAYS.INTL, koji vam omogućuju da definirate koji i koliko dana su dani vikenda.
A sada, pogledajmo pobliže svaku funkciju i vidimo kako je možete koristiti za izračunavanje radnih dana u vaše radne listove programa Excel.
Funkcija Excel WORKDAY
Funkcija Excel WORKDAY vraća datum koji je zadani broj radnih dana prije ili prije datuma početka. Isključuje vikende kao i sve praznike koje navedete.
Funkcija WORKDAY je namijenjena za izračunavanje radnih dana, prekretnica i rokova na temelju standardnog radnog kalendara, pri čemu su subota i nedjelja dani vikenda.
WORKDAY je ugrađena funkcija u programu Excel 2007 - 365. U ranijim verzijama morate omogućiti analizumali skup bitnih stvari i proizvesti ostatak. Zahvaljujem vam na čitanju i nadam se da ćemo ga vidjeti na našem blogu sljedeći tjedan!
ToolPak.Kada koristite WORKDAY u Excelu, morate unijeti sljedeće argumente:
WORKDAY(datum_početka, dani, [praznici])Prva 2 argumenta su obavezna, a zadnji je neobavezan :
- Datum_početka - datum od kojeg se počinju brojati radni dani.
- Dani - broj radnih dana za dodavanje / oduzimanje od početnog_datuma. Pozitivan broj vraća budući datum, negativan broj vraća prošli datum.
- Praznici - izborni popis datuma koji se ne bi trebali računati kao radni dani. To može biti ili niz ćelija koje sadrže datume koje želite isključiti iz izračuna ili konstanta niza serijskih brojeva koji predstavljaju datume.
Sada kada znate osnove, da vidimo kako možete koristiti funkciju WORKDAY u svojim Excel radnim listovima.
Kako koristiti WORKDAY za dodavanje/oduzimanje radnih dana od datuma
Da biste izračunali radne dane u Excelu, slijedite ova jednostavna pravila:
- Da biste dodali radne dane, unesite pozitivan broj kao argument dana formule WORKDAY.
- Da biste oduzeli radne dane, koristite negativan broj u argumentu dani .
Pretpostavimo da imate početni datum u ćeliji A2, popis praznika u ćeliji B2:B5 i želite saznati datumi 30 radnih dana u budućnosti i prošlosti. To možete učiniti pomoću sljedećih formula:
Za dodavanje 30 radnih dana početnom datumu, isključujući praznike uB2:B5:
=WORKDAY(A2, 30, B2:B5)
Za oduzimanje 30 radnih dana od početnog datuma, isključujući praznike u B2:B5:
=WORKDAY(A2, -30, B2:B5)
Za izračun radnih dana na temelju na trenutni datum koristite funkciju TODAY() kao početni datum:
Za dodavanje 30 radnih dana današnjem datumu:
=WORKDAY(TODAY(), 30)
Za oduzmite 30 radnih dana od današnjeg datuma:
=WORKDAY(TODAY(), -30)
Da biste unijeli početni datum izravno u formulu, koristite funkciju DATE:
=WORKDAY(DATE(2015,5,6), 30)
sljedeća snimka zaslona prikazuje rezultate svih ovih i još nekoliko WORKDAY formula:
I naravno, možete unijeti broj radnih dana za dodavanje / oduzimanje od početnog datuma u neku ćeliju, a zatim se pozovite na tu ćeliju u svojoj formuli. Na primjer:
=WORKDAY(A2, C2)
Gdje je A2 datum početka, a C2 broj dana koji nisu vikendi iza (negativni brojevi) ili ispred (pozitivni brojevi) datuma početka, bez praznika isključiti.
Savjet. U Excelu 365 i 2021 možete koristiti WORKDAY u kombinaciji sa SEQUENCE za generiranje niza radnih dana.
Funkcija Excel WORKDAY.INTL
WORKDAY.INTL je moćnija izmjena WORKDAY funkcija koja radi s prilagođenim vikend parametrima . Kao i WORKDAY, vraća datum koji je određeni broj radnih dana u budućnosti ili u prošlosti, ali vam omogućuje da odredite koje dane u tjednu treba smatrati danima vikenda.
Funkcija WORKDAY.INTL uveden je uExcel 2010 stoga nije dostupan u ranijim verzijama Excela.
Sintaksa funkcije Excel WORKDAY.INTL je sljedeća:
WORKDAY.INTL(datum_početka, dani, [vikend], [praznici])Prva dva argumenta su obavezna i slična su WORKDAY-u:
Start_date - početni datum.
Dani - broj radnih dana prije (negativna vrijednost) ili nakon (pozitivna vrijednost) datuma početka. Ako je argument days
naveden kao decimalni broj, skraćuje se na cijeli broj.
Posljednja dva argumenta nisu obavezna:
Vikend - određuje koji radni dani trebaju biti računaju se kao dani vikenda. To može biti ili broj ili niz, kao što je prikazano u nastavku.
Broj | Dani vikenda |
1 ili izostavljeno | subota, nedjelja |
2 | nedjelja, ponedjeljak |
3 | Ponedjeljak, utorak |
4 | Utorak, srijeda |
5 | Srijeda, četvrtak |
6 | Četvrtak, petak |
7 | Petak, subota |
11 | Samo nedjelja |
12 | Samo ponedjeljak |
13 | Samo utorak |
14 | Samo srijeda |
15 | Samo četvrtak |
16 | Samo petak |
17 | Samo subota |
Niz vikenda - niz od sedam 0 i 1 koji predstavljaju sedam dana u tjednu,počevši od ponedjeljka. 1 predstavlja neradni dan, a 0 radni dan. Na primjer:
- "0000011" - subota i nedjelja su vikendi.
- "1000001" - ponedjeljak i nedjelja su vikendi.
Na prvi pogled , nizovi vikenda mogu se činiti suvišnim, ali meni se osobno ova metoda više sviđa jer možete napraviti niz vikenda u hodu bez potrebe da pamtite bilo kakve brojeve.
Praznici - izborni popis datuma želite isključiti iz kalendara radnih dana. To može biti niz ćelija koje sadrže datume ili konstanta niza serijskih vrijednosti koje predstavljaju te datume.
Korištenje WORKDAY.INTL u Excelu - primjeri formula
Pa, prilično velika količina teorije o kojoj smo upravo razgovarali može se činiti prilično komplicirano i zbunjujuće, ali isprobavanje formula učinit će stvari stvarno lakima.
Na našem skupu podataka, s početnim datumom u ćeliji A2 i popisom praznika u A5 :A8, izračunajmo radne dane s prilagođenim vikendima.
Za dodavanje 30 radnih dana početnom datumu, petak i subota računaju se kao vikendi i praznici u A5:A8 isključeni:
=WORKDAY.INTL(A2, 30, 7, A5:A8)
ili
=WORKDAY.INTL(A2, 30, "0000110", A5:A8)
Za oduzimanje 30 radnih dana od početnog datuma, nedjelja i ponedjeljak se računaju kao vikendi i praznici u A5:A8 isključeni :
=WORKDAY.INTL(A2, -30, 2, A5:A8)
ili
=WORKDAY.INTL(A2, -30, "1000001", A5:A8)
Za dodavanje 10 radnih dana trenutačnom datumu , nedjelja je jedini dan vikenda, Nepraznici:
=WORKDAY.INTL(TODAY(), 10, 11)
ili
=WORKDAY.INTL(A2, 10, "0000001")
Na vašem Excel listu formule mogu izgledati ovako:
Napomena. Obje funkcije programa Excel WORKDAY i WORKDAY.INTL vraćaju serijske brojeve koji predstavljaju datume. Da bi se ti brojevi prikazali kao datumi, odaberite ćelije s brojevima i pritisnite Ctrl+1 da biste otvorili dijaloški okvir Format Cells . Na kartici Broj odaberite Datum na popisu Kategorija i odaberite format datuma koji želite. Za detaljne korake pogledajte Kako promijeniti format datuma u Excelu.
Pogreške programa Excel WORKDAY i WORKDAY.INTL
Ako vaša formula Excel WORKDAY ili WORKDAY.INTL vrati pogrešku, razlog je vjerojatno jedan od sljedećih:
# NUM! pogreška se pojavljuje ako:
- kombinacija argumenata
start_date
idays
rezultira nevažećim datumom ili -
weekend
argument u funkciji WORKDAY.INTL nije važeći .
#VALUE! pogreška se javlja ako:
-
start_date
ili bilo koja vrijednost uholidays
nije važeći datum, ili -
days
argument nije numerički.
Funkcija NETWORKDAYS programa Excel
Funkcija NETWORKDAYS u Excelu vraća broj radnih dana između dva datuma, isključujući vikende i, po izboru, praznike koje navedite.
Sintaksa programa Excel NETWORKDAYS je intuitivna i lako se pamti:
NETWORKDAYS(start_date, end_date, [praznici])Prva dva argumenta su obavezna, a treći jeizborno:
- Datum_početka - početni datum od kojeg se počinju računati radni dani.
- Datum_završetka - kraj razdoblja za koje brojite radne dane.
I datum početka i datum završetka računaju se u vraćeni broj radnih dana.
- Praznici - izborni popis praznika koji se ne bi trebali računati kao radni dani.
Kako koristiti NETWORKDAYS u Excelu - primjer formule
Recimo da imate popis praznika u ćelijama A2:A5, početni datumi u stupcu B, završni datumi u stupcu C, a želite znati koliko je radnih dana između tih datuma. Odgovarajuću formulu NETWORKDAYS lako je otkriti:
=NETWORKDAYS(B2, C2, $A$2:$A$5)
Primijetite da funkcija Excel NETWORKDAYS vraća pozitivnu vrijednost kada je početni datum manji od završnog datuma, a negativnu vrijednost ako završni datum noviji je od početnog datuma (kao u retku 5):
Excel NETWORKDAYS.INTL funkcija
Kao NETWORKDAYS, Excelova NETWORKDAYS.INTL funkcija izračunava broj dana u tjednu između dva datuma, ali vam omogućuje da odredite koji se dani trebaju računati kao dani vikenda.
Sintaksa funkcije NETWORKDAYS.INTL vrlo je slična funkciji NETWORKDAYS', osim što ima dodatni [vikend ] parametar koji označava koji se dani u tjednu trebaju računati kao vikendi.
NETWORKDAYS.INTL( početni_datum, završni_datum, [vikend], [praznici] ) Argument weekend
može prihvatitibilo broj ili niz. Brojevi i nizovi vikenda potpuno su isti kao u parametru weekend
funkcije WORKDAY.INTL.
Funkcija NETWORKDAYS.INTL dostupna je u programu Excel 365 - 2010.
Korištenje NETWORKDAYS.INTL u Excelu - primjer formule
Koristeći popis datuma iz prethodnog primjera, izračunajmo broj radnih dana između dva datuma pri čemu je nedjelja jedini dan vikenda. U tu svrhu upišite broj 11 u argument weekend
vaše formule NETWORKDAYS.INTL ili napravite niz od šest 0 i jedne 1 ("0000001"):
=NETWORKDAYS.INTL(B2, C2, 11, $A$2:$A$5)
Ili
=NETWORKDAYS.INTL(B2, C2, "0000001", $A$2:$A$5)
Sljedeći snimak zaslona dokazuje da obje formule vraćaju apsolutno identične rezultate.
Kako istaknuti radne dane u Excelu
Korištenjem WORKDAY i WORKDAY.INTL funkcije, ne samo da možete izračunati radne dane u svojim Excel radnim listovima, već ih možete i istaknuti kako vaša poslovna logika zahtijeva. Za ovo stvarate pravilo uvjetnog oblikovanja s formulom WORKDAY ili WORKDAY.INTL.
Na primjer, na popisu datuma u stupcu B, označimo samo buduće datume koji su unutar 15 radnih dana od današnjeg datuma , isključujući dva praznika u ćelijama A2:A3. Najočitija formula koja pada na pamet je sljedeća:
=AND($B2>TODAY(), $B2<=WORKDAY(TODAY(), 15, $A$2:$A$3))
Prvi dio logičkog testa odsijeca prošle datume, tj. provjeravate je li datum jednak ili veći od današnjeg : $B2>DANAS(). A u drugom dijelu, vi potvrđujetenije li datum udaljen više od 15 radnih dana u budućnosti, isključujući dane vikenda i navedene praznike: $B2<=WORKDAY(TODAY(), 15, $A$2:$A$3)
Formula izgleda ispravno, ali nakon što stvorite pravilo na temelju nje, shvatit ćete da označava pogrešno datumi:
Pokušajmo otkriti zašto se to događa. Problem nije u funkciji WORKDAY, kako bi netko mogao zaključiti. Funkcija je ispravna, ali... što zapravo radi? Vraća datum za 15 radnih dana od sada, isključujući dane vikenda (subota i nedjelja) i praznike u ćelijama A2:A3.
U redu, a što radi pravilo temeljeno na ovoj formuli? Ističe SVE datume koji su jednaki ili veći od današnjeg i manji od datuma koji vraća funkcija WORKDAY. Vidiš? Svi datumi! Ako ne želite bojati vikende i praznike, tada morate izričito reći Excelu da to ne čini. Dakle, dodajemo još dva uvjeta našoj formuli:
- Funkcija WEEKDAY za izuzimanje vikenda: WEEKDAY($B2, 2)<6
- Funkcija COUNTIF za izuzimanje praznika : COUNTIF($A$2:$A$3, $B2)=0
Kao što je prikazano na slici ispod, poboljšana formula radi savršeno:
=AND($B2>TODAY(), $B2<=WORKDAY(TODAY(), 15, $A$2:$A$3), COUNTIF($A$2:$A$3, $B2)=0, WEEKDAY($B2, 2)<6)
Kao što vidite, funkcije WORKDAY i WORKDAY.INTL čine izračun radnih dana u programu Excel brzim i lakim. Naravno, vaše formule u stvarnom životu vjerojatno će biti sofisticiranije, ali poznavanje osnova neizmjerno pomaže jer možete zapamtiti samo