Καλησπέρα
Θανάση, δες, στο συνημμένο, μια πρόταση με κώδικα (
VBA).
1) Αν και δεν το διευκρινίζεις, υποθέτω ότι στον πίνακα χρέωσης υπάρχουν 5 κατηγορίες χρέωσης και ότι οι τιμές που αναγράφονται είναι η χρέωση για μία μέρα.
2) Για να υπολογίσουμε τη χρέωση για ένα χρονικό διάστημα [a1, a2], στην κατηγορία Cat, θα πρέπει να βρούμε τις μέρες του που εμπίπτουν στα χρονικά διαστήματα του πίνακα χρέωσης, να τις πολλαπλασιάσουμε με τη χρέωση της κατηγορίας και να αθροίσουμε τα γινόμενα.
Αυτό κάνει η συνάρτηση ChargeForTimeSpace(), που δημιούργησα.
3) Για να βρούμε τη χρέωση για κάποιο 4τράμηνο (πχ [1/1/2017, 30/4/2017]), θα πρέπει, με βάση τις ημερομηνίες της λίστας «Διάστημα Χρέωσης», να το διαιρέσουμε σε υποτμήματα συγκεκριμένης κατηγορίας, να βρούμε τη χρέωση για κάθε υποτμήμα, όπως περιγράφεται στην περίπτωση 2 και να αθροίσουμε τη χρέωση όλων των υποτμημάτων.
Αυτό κάνει η συνάρτηση ChargeFor4Months().
4) Προκειμένου να διατηρηθεί απλός ο κώδικας, δεν έχω προσθέσει ελέγχους.
Θα πρέπει συνεπώς να συμπληρώνονται προσεκτικά τα δεδομένα στους σχετικούς πίνακες των φύλλων.