
Γενική φόρμουλα
=MAX(MIN(end1,end2)-MAX(start1,start2)+1,0)
Περίληψη
Για να υπολογίσετε τον αριθμό των ημερών που αλληλεπικαλύπτονται σε δύο εύρη ημερομηνιών, μπορείτε να χρησιμοποιήσετε βασική αριθμητική ημερομηνίας, μαζί με τις συναρτήσεις MIN και MAX.
Στο παράδειγμα που εμφανίζεται, ο τύπος στο D6 είναι:
=MAX(MIN(end,C6)-MAX(start,B6)+1,0)
Εξήγηση
Οι ημερομηνίες του Excel είναι απλώς σειριακοί αριθμοί, οπότε μπορείτε να υπολογίσετε τη διάρκεια αφαιρώντας την προηγούμενη ημερομηνία από την μεταγενέστερη ημερομηνία.
Αυτό συμβαίνει στον πυρήνα του τύπου εδώ:
MIN(end,C6)-MAX(start,B6)+1
Εδώ απλώς αφαιρούμε μια προηγούμενη ημερομηνία από μια μεταγενέστερη ημερομηνία. Για να μάθουμε ποιες ημερομηνίες θα χρησιμοποιηθούν για κάθε σύγκριση εύρους ημερομηνιών, χρησιμοποιούμε MIN για να λάβουμε την πρώτη ημερομηνία λήξης και MAX για να λάβουμε την τελευταία ημερομηνία λήξης.
Προσθέτουμε 1 στο αποτέλεσμα για να βεβαιωθούμε ότι μετράμε "θέσεις φρακτών" και όχι "κενά μεταξύ στύλων φράχτη" (αναλογία από τον John Walkenbach από το Excel 2010 Bible).
Τέλος, χρησιμοποιούμε τη συνάρτηση MAX για να παγιδεύουμε αρνητικές τιμές και να επιστρέφουμε μηδέν. Η χρήση MAX με αυτόν τον τρόπο είναι ένας έξυπνος τρόπος για να αποφύγετε τη χρήση IF.