Τύπος Excel: Μετρήστε την ημέρα της εβδομάδας μεταξύ ημερομηνιών -

Πίνακας περιεχομένων

Γενική φόρμουλα

=SUMPRODUCT(--(WEEKDAY(ROW(INDIRECT(start&":"&end)))=dow))

Περίληψη

Για να μετρήσετε τις καθημερινές (Δευτέρα, Παρασκευή, Κυριακή, κ.λπ.) μεταξύ δύο ημερομηνιών, μπορείτε να χρησιμοποιήσετε έναν τύπο πίνακα που χρησιμοποιεί διάφορες λειτουργίες: ΣΥΝΟΠΤΙΚΗ ΠΕΡΙΟΔΟΣ, ΕΒΔΟΜΑΔΑ, ΣΕΙΡΑ και ΑΜΕΣΗ Στο παράδειγμα που δείχνεται, ο τύπος στο κελί Ε6 είναι

=SUMPRODUCT(--(WEEKDAY(ROW(INDIRECT(B6&":"&C6)))=D6))

Στη γενική έκδοση του τύπου, έναρξη = ημερομηνία έναρξης, τέλος = ημερομηνία λήξης και dow = ημέρα της εβδομάδας.

Εξήγηση

Στον πυρήνα, αυτός ο τύπος χρησιμοποιεί τη συνάρτηση WEEKDAY για να δοκιμάσει έναν αριθμό ημερομηνιών για να δει εάν προσγειώνονται σε μια δεδομένη ημέρα της εβδομάδας (dow) και τη συνάρτηση SUMPRODUCT για τον υπολογισμό του συνόλου.

Όταν δοθεί ημερομηνία, η ΕΒΔΟΜΑΔΑ απλώς επιστρέφει έναν αριθμό μεταξύ 1 και 7 που αντιστοιχεί σε μια συγκεκριμένη ημέρα της εβδομάδας. Με τις προεπιλεγμένες ρυθμίσεις, 1 = Κυριακή και 7 = Σάββατο. Έτσι, 2 = Δευτέρα, 6 = Παρασκευή και ούτω καθεξής.

Το κόλπο σε αυτόν τον τύπο είναι να κατανοήσουμε ότι οι ημερομηνίες στο Excel είναι απλώς σειριακοί αριθμοί που ξεκινούν την 1η Ιανουαρίου 1900. Για παράδειγμα, η 1η Ιανουαρίου 2016 είναι ο σειριακός αριθμός 42370 και η 8 Ιανουαρίου είναι 42377. Οι ημερομηνίες στο Excel μοιάζουν μόνο με ημερομηνίες όταν εφαρμόζεται μια μορφή αριθμού ημερομηνίας.

Έτσι, η ερώτηση γίνεται - πώς μπορείτε να δημιουργήσετε μια σειρά ημερομηνιών που μπορείτε να τροφοδοτήσετε στη συνάρτηση WEEKDAY για να μάθετε τις αντίστοιχες ημέρες της εβδομάδας;

Η απάντηση είναι να χρησιμοποιήσετε το ROW με INDIRECT συναρτήσεις όπως:

ROW(INDIRECT(date1&":"&date2))

Το INDIRECT επιτρέπει στις συνδυασμένες ημερομηνίες "42370: 42377" να ερμηνεύονται ως αριθμοί σειράς. Στη συνέχεια, η συνάρτηση ROW επιστρέφει έναν πίνακα όπως αυτό:

(42370;42371;42372;42373;42374;42375;42376;42377)

Η συνάρτηση WEEKDAY αξιολογεί αυτούς τους αριθμούς ως ημερομηνίες και επιστρέφει αυτόν τον πίνακα:

(6;7;1;2;3;4;5;6)

που δοκιμάζεται σε σχέση με τη δεδομένη ημέρα της εβδομάδας (6 στην περίπτωση αυτή, από το D6). Μόλις τα αποτελέσματα της δοκιμής μετατραπούν σε 1s και 0s με τη διπλή παύλα, αυτή η σειρά επεξεργάζεται από το SUMPRODUCT

(1;0;0;0;0;0;0;1)

Που επιστρέφει 2.

Με ΑΚΟΛΟΥΘΙΑ

Με τη νέα συνάρτηση SEQUENCE, αυτός ο τύπος μπορεί να απλοποιηθεί κάπως έτσι:

=SUMPRODUCT(--(WEEKDAY(SEQUENCE(end-start+1,1,start,1))=dow))

Σε αυτήν την έκδοση, χρησιμοποιούμε το SEQUENCE για να δημιουργήσουμε απευθείας τον πίνακα των ημερομηνιών, χωρίς να χρειάζεται ΕΜΜΕΣΗ ή ΣΕΙΡΑ.

ενδιαφέροντα άρθρα...