Υπολογισμός του χρόνου τήρησης βάρδιας για δεδομένη μετατόπιση χρησιμοποιώντας VBA στο Microsoft Excel

Anonim

Σε αυτό το άρθρο, θα δημιουργήσουμε μια προσαρμοσμένη συνάρτηση ή UDF για τον υπολογισμό του χρόνου συμμόρφωσης μετατόπισης για τους παράγοντες.

Τα ακατέργαστα δεδομένα για αυτό το παράδειγμα αποτελούνται από αναγνωριστικό παράγοντα μαζί με τον χρόνο σύνδεσης και αποσύνδεσης κάθε παράγοντα για την ημέρα. Έχουμε επίσης ορίσει την ώρα έναρξης και λήξης της βάρδιας.

Χρησιμοποιήσαμε την προσαρμοσμένη συνάρτηση "TimeInterval" για τον υπολογισμό του χρόνου τήρησης της βάρδιας. Αυτή η συνάρτηση λαμβάνει τέσσερις παραμέτρους ως είσοδο.

Λειτουργία TimeInterval (Σύνδεση, Αποσύνδεση, ShiftStartTime, ShiftEndTime)

Ο χρόνος έναρξης αλλαγής ορίζεται στο κελί C7 και ο χρόνος λήξης μετατόπισης ορίζεται στο κελί C8.

Λογική εξήγηση

Για να υπολογίσουμε τον χρόνο τήρησης βάρδιας, αλλάξαμε τον χρόνο σύνδεσης σε χρόνο έναρξης αλλαγής. Εάν η ώρα σύνδεσης είναι νωρίτερη από την ώρα έναρξης αλλαγής, τότε η ώρα έναρξης αλλαγής θα θεωρηθεί ως ώρα σύνδεσης. Εάν ο χρόνος αποσύνδεσης είναι πιο αργός από τον χρόνο λήξης της αλλαγής, τότε ο χρόνος λήξης της αλλαγής θα θεωρηθεί ως χρόνος αποσύνδεσης. Τώρα, η διαφορά μεταξύ του χρόνου σύνδεσης και αποσύνδεσης θα δώσει χρόνο τήρησης βάρδιας.

Ακολουθήστε παρακάτω για τον κωδικό

 Επιλογή ρητή συνάρτηση TimeInterval (Σύνδεση ως διπλή, έξοδος ως διπλή, _ ShiftStartTime ως διπλή, ShiftEndTime ως διπλή) 'Έλεγχος αν ο χρόνος σύνδεσης είναι μικρότερος από τον χρόνο αποσύνδεσης Εάν Σύνδεση> Αποσύνδεση Τότε TimeInterval = "Ο χρόνος σύνδεσης πρέπει να είναι μικρότερος από τον χρόνο αποσύνδεσης" Έξοδος Λειτουργία Λήξη Αν «Εάν η σύνδεση είναι μικρότερη από την ώρα έναρξης αλλαγής, αλλάξτε την ώρα σύνδεσης για να αλλάξετε την ώρα έναρξης Εάν συνδεθείτε ShiftEndTime Τότε Αποσύνδεση = ShiftEndTime TimeInterval = Αποσύνδεση - Λειτουργία τερματισμού σύνδεσης 

Αν σας άρεσε αυτό το blog, μοιραστείτε το με τους φίλους σας στο Facebook. Επίσης, μπορείτε να μας ακολουθήσετε στο Twitter και το Facebook.

Θα θέλαμε πολύ να σας ακούσουμε, ενημερώστε μας πώς μπορούμε να βελτιώσουμε το έργο μας και να το κάνουμε καλύτερο για εσάς. Γράψτε μας στον ιστότοπο email