Tam tikros pamainos laikymosi laiko pamainai apskaičiavimas naudojant „Microsoft Excel“ VBA

Anonim

Šiame straipsnyje mes sukursime pasirinktinę funkciją arba UDF, kad apskaičiuotume agentų laikymosi laiką.

Neapdorotus šio pavyzdžio duomenis sudaro agento ID, taip pat kiekvieno agento dienos prisijungimo ir atsijungimo laikas. Mes taip pat nustatėme pamainos pradžios ir pamainos pabaigos laiką.

Mes naudojome pasirinktinę funkciją „TimeInterval“, kad apskaičiuotume pamainos laikymosi laiką. Į šią funkciją įvedami keturi parametrai.

Funkcijos laiko intervalas (prisijungimas, atsijungimas, „ShiftStartTime“, „ShiftEndTime“)

Pamainos pradžios laikas apibrėžtas langelyje C7, o pamainos pabaigos laikas - ląstelėje C8.

Loginis paaiškinimas

Norėdami apskaičiuoti laikymosi pamainoje laiką, pasikeitėme prisijungimo laiką į pamainos pradžios laiką. Jei prisijungimo laikas yra ankstesnis nei pamainos pradžios laikas, tada pamainos pradžios laikas bus laikomas prisijungimo laiku. Jei atsijungimo laikas yra vėlesnis nei pamainos pabaigos laikas, pamainos pabaigos laikas bus laikomas išsiregistravimo laiku. Dabar skirtumas tarp prisijungimo ir atsijungimo laiko suteiks pamainos laikymosi laiką.

Sekite toliau pateiktą kodą

 Parinktis „Explicit Function TimeInterval“ (prisijungimas kaip dvigubas, atsijungimas kaip dvigubas, _ „ShiftStartTime“ kaip dvigubas, „ShiftEndTime kaip dvigubas“) 'Tikrinimas, ar prisijungimo laikas yra trumpesnis nei atsijungimo laikas Jei prisijungimas> Atsijungti, tada TimeInterval = "Prisijungimo laikas turi būti trumpesnis nei atsijungimo laikas" Išeiti Funkcijos pabaiga Jei „Jei prisijungimas yra trumpesnis nei pamainos pradžios laikas, tada pakeiskite prisijungimo laiką į pamainos pradžios laiką. 

Jei jums patiko šis tinklaraštis, pasidalykite juo su draugais „Facebook“. Be to, mus galite sekti „Twitter“ ir „Facebook“.

Mes norėtume išgirsti jūsų nuomonę, praneškite mums, kaip galime pagerinti savo darbą ir padaryti jį geresnį. Rašykite mums el