![]() |
Προγραμματισμός Εργάσιμων Ημερών 1 Συνημμένο(α) Καλημέρα σε όλη την ομάδα, Θα ήθελα την βοήθειά σας σύμφωνα με το συνημμένο αρχείο. Πως θα μπορούσαν οι στήλες K έως GH να λαμβάνουν τις τιμές των εργάσιμων ημερών όπου στην στήλη K να μπαίνει η τρέχουσα ημερομηνία και στις επόμενες μόνο οι επόμενες εργάσιμες. Υπόψιν ως αργία θεωρείται και το Σάββατο και φυσικά άλλες οι σταθερές και κινητές αργίες. Αναμένω την βοήθειά σας και σας ευχαριστώ εκ των προτέρων Γρηγόρης |
1 Συνημμένο(α) Καλημέρα Γρηγόρη, Δοκίμασε το συνημμένο αρχείο αν σε βολεύει. Πληκτρολογώντας μια ημερομηνία στο κελί Κ1, στα κελιά L1:GH1 συμπληρώνονται αυτόματα οι εργάσιμες ημέρες που ακολουθούν την ημερομηνία του Κ1. Εργάσιμες ημέρες θεωρούνται οι ημερομηνίες εκτός των Σαββατοκύριακων και των επίσημων αργιών. Οι επίσημες αργίες υπολογίζονται στο φύλλο ΑΡΓΙΕΣ, αφού πρώτα συμπληρώσεις το Κ1. |
Χρήστο καλησπέρα, Καταρχάν σε ευχαριστώ για την βοήθειά σου Σύμφωνα με αυτά που ζήτησα είναι ακριβώς αυτό που χρειαζόμουν. Όμως υπάρχει το εξής θέμα και θα ήθελα την βοήθειά σου. Εάν η τρέχουσα ημέρα είναι αργία θα μπορούσε να εξαιρείται από το κελί Κ2 και να αντικατασταθεί με την αμέσως επόμενη εργάσιμη; Αντίστοιχα, τα επόμενα κελιά να διαμορφωθούν με αυτή την λογική. Ευχαριστώ πολύ εκ των προτέρων Γρηγόρης |
1 Συνημμένο(α) Καλημέρα Γρηγόρη, Δοκίμασε τώρα το συνημμένο αρχείο. Πληκτρολογώντας μια ημερομηνία στο Κ1 και είναι Σάββατο, Κυριακή ή επίσημη αργία, τότε η ημερομηνία διορθώνεται αυτόματα με την επόμενη εργάσιμη ημέρα και τα υπόλοιπα κελιά βασίζονται πάνω σ' αυτήν. |
1 Συνημμένο(α) Καλημέρα Μπορείτε να χρησιμοποιήσετε την συνάρτηση =WORKDAY.INTL(K1;1;1;Holidays) στο κελί L1, και τραβάμε δεξιά. Ορίσματα Startdate = (Κ1) = το κελί με την =today() Days = 1 = το κάθε προηγούμενο κελί Weekend = 1 = ΣΚ για Ελλάδα Holidays = η ονομασμένη περιοχή Holidays* *Η περιοχή αυτή θα πρέπει να έχει, τόσες «ντάνες» αργιών, όσα και τα εν δυνάμει έτη, που περιλαμβάνονται στις στήλες δεξιά από την Κ. Περισσότερα στο βιβλίο... |
Χρήστο καλημέρα, Αυτό που χρειάζομαι είναι, μην πληκτρολογώ κάτι στο κελί Κ1 αλλά, με το που ανοίγει το αρχείο να τρέχει ο κώδικας και να συμπληρώνει τα κελιά K1-GH1 αυτόματα ως εξής : K1 : Την τρέχουσα ημέρα. Εάν είναι αργία την αμέσως επόμενη εργάσιμη L1 - GH1 : Τις επόμενες εργάσιμες Ευχαριστώ Γρηγόρης |
1 Συνημμένο(α) Δοκίμασε το επισυναπτόμενο αρχείο, το οποίο βασίζεται στη συνάρτηση που πρότεινε ο Σπύρος για αποφυγή κώδικα VBA. Επεξεργασία: Γρηγόρη, στο κελί Κ1 γράψε την παρακάτω συνάρτηση: =IF(AND(WEEKDAY(TODAY();2)<6;ISERROR(MATCH(TODAY() ;Holidays;0)));TODAY();WORKDAY.INTL(TODAY();1;1;Ho lidays)) |
Χρήστο καλησπέρα, Δοκίμασα τα παραπάνω σύμφωνα με το τελευταίο αρχείο που ανέβασες όμως μου βγάζει σφάλμα. Μπορείς να το δεις; Ευχαριστώ και πάλι όλους σας Γρηγόρης |
1 Συνημμένο(α) Αν καταλαβαίνω καλά, το πρόβλημα πρέπει να είναι στις εκδόσεις 2003 και 2007 που χρησιμοποιείς. Η συνάρτηση WORKDAY.INTL λειτουργεί στο Excel 2010 και μετά. Δοκίμασε το συνημμένο αρχείο με κώδικα. |
Καλησπέρα, Σωστά. Τώρα είναι εντάξει. Ευχαριστώ πολύ Χρήστο Γρηγόρης |
Το πρόβλημα με τον τρόπο που απαντάμε, δεν είναι τωρινό... Δίνουμε παλιές συναρτήσεις και είναι πολύπλοκες και ξεπερασμένες... Δίνουμε σύγχρονες συναρτήσεις και δεν δουλεύουν γιατί πολλοί φίλοι δεν ενημερώνουν σωστά το profile τους,έτσι δεν ξέρουμε με ποιό τρόπο θα ήταν καλύτερα να δώσουμε μια λύση. Μπορεί ο Γρηγόρης, να έχει ενημερωμένο profile, αλλά το... «Δοκίμασα τα παραπάνω σύμφωνα με το τελευταίο αρχείο που ανέβασες όμως μου βγάζει σφάλμα.» δεν λέει τι είδους σφάλμα παρουσιάζει, για να καταλάβει κανείς και το γιατί δεν δουλεύει... Πάμε τώρα στο αρχείο, για να ενημερώσουμε όσους μας διαβάζουν. Σε κάθε περίπτωση, ξεχνάμε το 2003 office. Μπορούμε για το 2007 και νεότερο, να έχουμε το ίδιο αποτέλεσμα με την =WORKDAY(K1;1;Holidays) Η διαφορά είναι ότι αυτή έχει default weekend, το ΣΚ. Θεωρώ ότι με την δομή που έχει το αρχείο, και αφού οι συναρτήσεις της κάθε στήλης είναι αυτής της απλής μορφής =IF($D2<L$1;"";1) τότε για να μπορεί να προσθέτει μονάδες, αν στην πρώτη στήλη (Κ) και μόνο σε αυτήν, δεν αλλάξουμε την =today() στο Κ1, αλλά τις πιο κάτω συναρτήσεις με =IF(WORKDAY(K$1-1;1;Holidays)=K$1;IF($D2<K$1;"";1);"") τότε όλα είναι μια χαρά... Η συνάρτηση εξετάζει το σήμερα. Αν είναι αργία, βάζει κενά, αν δεν είναι, τότε προχωράει στην συνθήκη που έβαλε ο Γρηγόρης... Ο τρόπος αυτός, μετά από όλα όσα είπαμε και εξετάσαμε, θεωρώ ότι είναι και ο καλύτερος με τύπους διότι ο χρήστης, «βλέπει» το σήμερα, το οποίο αν θέλει μπορεί να βελτιώσει και στο τι θα δείξουν οι παρακάτω συναρτήσεις... |
| Η ώρα είναι 20:00. |
Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.