
Γενική φόρμουλα
=SUMPRODUCT((holidays>=start)*(holidays<=end))
Περίληψη
Για να μετρήσετε τις αργίες που πραγματοποιούνται μεταξύ δύο ημερομηνιών, μπορείτε να χρησιμοποιήσετε τη συνάρτηση SUMPRODUCT.
Στο παράδειγμα που εμφανίζεται, ο τύπος στο F8 είναι:
=SUMPRODUCT((B4:B12>=F5)*(B4:B12<=F6))
Εξήγηση
Αυτός ο τύπος χρησιμοποιεί δύο εκφράσεις σε έναν πίνακα μέσα στη συνάρτηση SUMPRODUCT.
Η πρώτη έκφραση δοκιμάζει κάθε ημερομηνία αργίας για να δει αν είναι μεγαλύτερη ή ίση με την ημερομηνία έναρξης στο F5:
(B4:B12>=F5)
Αυτό επιστρέφει έναν πίνακα τιμών TRUE / FALSE ως εξής:
(FALSE; FALSE; FALSE; FALSE; TRUE; TRUE; TRUE; TRUE; TRUE)
Η δεύτερη έκφραση δοκιμάζει κάθε ημερομηνία αργίας για να δει αν είναι μικρότερη ή ίση με την ημερομηνία λήξης στο F6:
(B4:B12<=F6)
που επιστρέφει έναν πίνακα τιμών TRUE / FALSE όπως αυτό:
(TRUE; TRUE; TRUE; TRUE; TRUE; TRUE; TRUE; TRUE; FALSE)
Ο πολλαπλασιασμός αυτών των δύο συστοιχιών εξαναγκάζει αυτόματα τις τιμές TRUE / FALSE σε αυτές και μηδενικά, με αποτέλεσμα πίνακες που μοιάζουν με αυτό:
=SUMPRODUCT(((0;0;0;0;1;1;1;1;1))*((1;1;1;1;1;1;1;1;0)))
Μετά τον πολλαπλασιασμό, έχουμε μόνο έναν πίνακα όπως αυτό:
=SUMPRODUCT((0;0;0;0;1;1;1;1;0))
Τέλος, το SUMPRODUCT αθροίζει τα στοιχεία στον πίνακα και επιστρέφει 4.
Διακοπές μόνο τις καθημερινές
Για να μετρήσετε τις αργίες που πραγματοποιούνται μόνο τις καθημερινές (Δευ-Παρ), μπορείτε να επεκτείνετε τον τύπο ως εξής:
=SUMPRODUCT((rng>=F5)*(rng<=F6)*(WEEKDAY(rng,2)<6))
όπου rng είναι ένα εύρος που περιέχει ημερομηνίες διακοπών.