
Πριν από μερικές εβδομάδες, ένας αναγνώστης μου έστειλε μια ενδιαφέρουσα ερώτηση σχετικά με την παρακολούθηση του «χρόνου διακοπής» για ένα στόλο φορτηγών. Τα φορτηγά παρακολουθούνται με GPS, οπότε μια τοποθεσία καταγράφεται κάθε ώρα της ημέρας για κάθε φορτηγό. Τα δεδομένα μοιάζουν με αυτό:
Η πρόκληση: ποιος τύπος στη στήλη N θα υπολογίσει σωστά τις συνολικές ώρες που σταμάτησαν;
Έχω απλοποιήσει αυτό λίγο αντικαθιστώντας τις πραγματικές συντεταγμένες GPS με τοποθεσίες με την ένδειξη AE, αλλά η ιδέα παραμένει η ίδια.
Το παζλ
Για πόσες ώρες σταμάτησε κάθε φορτηγό;
Ή, στο Excel-speak:
Ποιος τύπος θα υπολογίσει τις συνολικές ώρες που σταμάτησε κάθε φορτηγό;
Για παράδειγμα, γνωρίζουμε ότι το Truck1 σταμάτησε για 1 ώρα επειδή η τοποθεσία του καταγράφηκε ως "Α" και στις 4 μ.μ. και στις 5 μ.μ.
Υποθέσεις
- Υπάρχουν 5 τοποθεσίες με αυτά τα ονόματα: A, B, C, D, E
- Ένα φορτηγό στην ίδια θέση για δύο συνεχόμενες ώρες = 1 ώρα σταμάτησε
Έχεις έναν τύπο που θα το κάνει;
Κατεβάστε το βιβλίο εργασίας και μοιραστείτε τον τύπο σας στα παρακάτω σχόλια. Όπως με τόσα πολλά πράγματα στο Excel, υπάρχουν πολλοί τρόποι για την επίλυση αυτού του προβλήματος!
Απάντηση (κάντε κλικ για επέκταση)Σε αυτήν την περίπτωση, το ευέλικτο SUMPRODUCT είναι ένας κομψός τρόπος για την επίλυση αυτού του προβλήματος:
=SUMPRODUCT(--(C6:K6=D6:L6))
Τα εύρη σημειώσεων C6: K6 αντισταθμίζονται από μία στήλη. Στην ουσία, συγκρίνουμε τις "προηγούμενες θέσεις" με τις "επόμενες θέσεις" και υπολογίζουμε περιπτώσεις όπου η προηγούμενη θέση είναι ίδια με την επόμενη θέση.
Για τα δεδομένα στη σειρά 6, η λειτουργία σύγκρισης δημιουργεί έναν πίνακα τιμών TRUE FALSE:
(FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,TRUE)
Το διπλό αρνητικό στη συνέχεια εξαναγκάζει τις τιμές TRUE FALSE σε αυτές και μηδενικά και το SUMPRODUCT απλά το άθροισμα του πίνακα, που είναι 1:
=SUMPRODUCT((0,0,0,0,0,0,0,0,1))