Työvuorojen noudattamisajan laskeminen tietylle vuorolle käyttämällä VBA: ta Microsoft Excelissä

Anonim

Tässä artikkelissa luomme mukautetun funktion tai UDF: n, joka laskee agenttien siirtymisajan.

Tämän esimerkin raakatiedot koostuvat agenttitunnuksesta sekä kunkin agentin kirjautumis- ja uloskirjautumisajasta päivälle. Olemme myös määrittäneet vuoron alkamis- ja päättymisajan.

Olemme käyttäneet mukautettua toimintoa ”TimeInterval” laskemaan vuoron tarttumisajan. Tämä toiminto syöttää neljä parametria.

Toiminnon aikaInterval (kirjautuminen, uloskirjautuminen, ShiftStartTime, ShiftEndTime)

Vuoron alkamisaika määritetään solussa C7 ja vuoron päättymisaika solussa C8.

Looginen selitys

Vuorojen noudattamisajan laskemiseksi olemme muuttaneet kirjautumisajan vuoron alkamisaikaksi. Jos kirjautumisaika on aikaisempi kuin vuoron alkamisaika, vuoron aloitusaikaa pidetään kirjautumisaikana. Jos uloskirjautumisaika on myöhempi kuin vuoron päättymisaika, vuoron päättymisaikaa pidetään uloskirjautumisaikana. Nyt ero kirjautumis- ja uloskirjautumisajan välillä antaa vuoron sitoutumisajan.

Seuraa koodia alla

 Vaihtoehto Explicit Function TimeInterval (kirjautuminen tuplana, uloskirjautuminen kaksinkertaisena, _ ShiftStartTime tuplana, ShiftEndTime tuplana) 'Tarkista, onko kirjautumisaika lyhyempi kuin uloskirjautumisaika Jos kirjautuminen> uloskirjautuminen sitten TimeInterval = "Kirjautumisajan tulee olla lyhyempi kuin uloskirjautumisaika" Exit Toiminnon loppu Jos 'Jos kirjautuminen on pienempi kuin vuoron aloitusaika, vaihda kirjautumisaika vuoron alkamisaikaksi Jos kirjautuminen ShiftEndTime Sitten Kirjaudu ulos = ShiftEndTime TimeInterval = Kirjaudu ulos - Kirjautumisen lopetus 

Jos pidit tästä blogista, jaa se ystävillesi Facebookissa. Voit myös seurata meitä Twitterissä ja Facebookissa.

Haluaisimme kuulla sinusta, kerro meille, kuinka voimme parantaa työtämme ja parantaa sitä sinulle. Kirjoita meille sähköpostitse