
Γενική φόρμουλα
=SUMPRODUCT(--(WEEKDAY(dates)=day_num))
Περίληψη
Για να μετρήσετε ημερομηνίες κατά την ημέρα της εβδομάδας (δηλαδή μετράτε Δευτέρα, Τρίτη, Τετάρτη, κ.λπ.), μπορείτε να χρησιμοποιήσετε τη συνάρτηση SUMPRODUCT μαζί με τη συνάρτηση WEEKDAY. Στο παράδειγμα που εμφανίζεται, ο τύπος στο F4 είναι:
=SUMPRODUCT(--(WEEKDAY(dates,2)=E4))
Σημείωση: "ημερομηνίες" είναι το ονομαζόμενο εύρος B4: B15.
Εξήγηση
Ίσως αναρωτιέστε γιατί δεν χρησιμοποιούμε COUNTIF ή COUNTIFs; Αυτές οι λειτουργίες μοιάζουν με την προφανή λύση. Ωστόσο, χωρίς να προσθέσετε μια βοηθητική στήλη που περιέχει μια τιμή την ημέρα της εβδομάδας, δεν υπάρχει τρόπος δημιουργίας κριτηρίων για το COUNTIF να μετρά τις καθημερινές σε ένα εύρος ημερομηνιών.
Αντ 'αυτού, χρησιμοποιούμε την ευέλικτη συνάρτηση SUMPRODUCT, η οποία χειρίζεται τις συστοιχίες χαριτωμένα χωρίς να χρειάζεται να χρησιμοποιήσουμε το Control + Shift + Enter.
Χρησιμοποιούμε το SUMPRODUCT με ένα μόνο όρισμα, το οποίο αποτελείται από αυτήν την έκφραση:
--(WEEKDAY(dates,2)=E4)
Λειτουργώντας από μέσα προς τα έξω, η συνάρτηση WEEKDAY διαμορφώνεται με το προαιρετικό όρισμα 2, το οποίο αναγκάζει την επιστροφή αριθμών 1-7 για τις ημέρες Δευτέρα-Κυριακή, αντίστοιχα. Αυτό διευκολύνει τη λίστα των ημερών με τη σειρά με τους αριθμούς στη στήλη Ε.
Στη συνέχεια, η WEEKDAY αξιολογεί κάθε ημερομηνία στο ονομαζόμενο εύρος "ημερομηνίες" και επιστρέφει έναν αριθμό. Το αποτέλεσμα είναι ένας πίνακας ως εξής:
(1;3;7;1;5;2;7;1;7;5;4;7)
Στη συνέχεια, οι αριθμοί που επιστρέφονται από την WEEKDAY συγκρίνονται με την τιμή στο E4, που είναι 1:
(1;3;7;1;5;2;7;1;7;5;4;7)=1
Το αποτέλεσμα είναι ένας πίνακας τιμών TRUE / FALSE.
(TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE)
Το SUMPRODUCT λειτουργεί μόνο με αριθμούς (όχι κείμενο ή booleans), επομένως χρησιμοποιούμε το διπλό αρνητικό για να εξαναγκάσουμε τις τιμές TRUE / FALSE σε κάποιον και μηδενικό:
(1;0;0;1;0;0;0;1;0;0;0;0)
Με έναν μόνο πίνακα για επεξεργασία, το SUMPRODUCT αθροίζει τα στοιχεία και επιστρέφει το αποτέλεσμα, 3.
Αντιμετώπιση κενών ημερομηνιών
Εάν έχετε κενά κελιά στη λίστα ημερομηνιών, θα λάβετε λανθασμένα αποτελέσματα, καθώς η συνάρτηση WEEKDAY θα επιστρέψει ένα αποτέλεσμα ακόμη και όταν δεν υπάρχει ημερομηνία. Για να χειριστείτε τα κενά κελιά, μπορείτε να προσαρμόσετε τον τύπο ως εξής:
=SUMPRODUCT((WEEKDAY(dates,2)=E4)*(dates""))
Ο πολλαπλασιασμός με την έκφραση (ημερομηνίες "") είναι ένας τρόπος για να ακυρώσετε τα κενά κελιά.