„Excel“ formulė: gaukite darbo valandas tarp datų -

Turinys

Bendroji formulė

=NETWORKDAYS(start,end,holidays)*hours

Santrauka

Norėdami apskaičiuoti bendrą darbo valandų skaičių tarp dviejų datų, galite naudoti formulę, pagrįstą funkcija NETWORKDAYS, kur „pradžia“ yra pradžios data, „pabaiga“ yra pabaigos data, „atostogos“ yra diapazonas, į kurį įeina datos, o „valandos“ - tai darbo valandų skaičius darbo dieną. Parodytame pavyzdyje formulė D7 yra:

=NETWORKDAYS(B7,C7,holidays)*8

kur „atostogos“ yra įvardytas diapazonas G6: G8.

Paaiškinimas

Ši formulė naudoja funkciją NETWORKDAYS apskaičiuoti visas darbo dienas tarp dviejų datų, atsižvelgiant į savaitgalius ir (pasirinktinai) atostogas. Atostogos, jei tokios yra, turi būti galiojančių „Excel“ datų intervalas. Kai žinomos visos darbo dienos, jos paprasčiausiai padauginamos iš fiksuoto valandų skaičiaus per dieną - 8 pateiktame pavyzdyje.

Funkcija NETWORKDAYS į skaičiavimą įtraukia tiek pradžios, tiek pabaigos datą ir pagal numatytuosius nustatymus neįtraukia ir šeštadienio, ir sekmadienio. Funkcija taip pat neįtrauks atostogų, kai tada nurodomos kaip „atostogų“ argumentas kaip galiojančių datų diapazonas.

Šiame parodytame pavyzdyje pirmose dviejose formulėse naudojama funkcija NETWORKDAYS.

D6=NETWORKDAYS(B6,C6)*8 // no holidays D7=NETWORKDAYS(B7,C7,holidays)*8 // holidays provided

Jei jūsų darbo savaitė apima dienas, išskyrus pirmadienį – penktadienį, galite pereiti prie funkcijos NETWORKDAYS.INTL, kuri pateikia argumentą „savaitgalis“, kurį galima naudoti apibrėžiant, kurios savaitės dienos yra darbo dienos ir savaitgalio dienos. „NETWORKDAYS.INTL“ gali būti sukonfigūruotas taip pat, kaip ir „NETWORKDAYS“, tačiau jis pateikia papildomą argumentą, pavadintą „savaitgalis“, kad būtų galima valdyti, kurios savaitės dienos laikomos darbo dienomis.

Kitose 4 formulėse naudojama funkcija NETWORKDAYS.INTL:

D8=NETWORKDAYS.INTL(B8,C8)*8 // Mon-Fri, no holidays D9=NETWORKDAYS.INTL(B9,C9,11)*8 // Mon-Sat, no holidays D10=NETWORKDAYS.INTL(B10,C10)*8 // M-F, no holidays D11=NETWORKDAYS.INTL(B11,C11,1,holidays)*8 // M-F, w/ holidays

Spustelėkite aukščiau nurodytus funkcijų pavadinimus, kad sužinotumėte daugiau apie konfigūravimo parinktis.

Individualus darbo grafikas

Pagal šią formulę daroma prielaida, kad visos darbo dienos turi vienodą darbo valandų skaičių. Jei reikia apskaičiuoti darbo valandas pagal pasirinktą tvarkaraštį, kai darbo valandos skiriasi priklausomai nuo savaitės dienos, galite išbandyti tokią formulę:

=SUMPRODUCT(MID(schedule,WEEKDAY(ROW(INDIRECT(start&":"&end))),1)*ISNA(MATCH(ROW(INDIRECT(start&":"&end)),holidays,0)))

Paaiškinimą rasite čia.

Įdomios straipsniai...