| Excel - Ερωτήσεις / Απαντήσεις Ότι έχει σχέση με συναρτήσεις, μορφοποίηση, εκτυπώσεις γραφήματα κτλ. |
![]() |
| | Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
|
#1
| |||
| |||
|
Καλησπέρα σας. Στο Α1, βάζουμε μια ημερομηνία. Π.χ 22/01/2013. Ζητούμενο είναι_χρησιμοποιώντας τύπους_στο D1, να μας ενημερώνει "λέγοντας" "Είναι η 4τη Τρίτη του μήνα Γενάρη" Αν η ημερομηνία είναι 29/01/2013, τότε το αποτέλεσμα θα πρέπει να είναι" "Είναι η τελευταία Τρίτη του μήνα Γενάρη" Αν η ημερομηνίες είναι Σάββατο(π.χ 19/01/13 και 26/01/2013, θα πρέπει αντίστοιχα οι απαντήσεις να είναι" "Είναι το 3το Σάββατο του μήνα Γενάρη" "Είναι το τελευταίο Σάββατο του μήνα Γενάρη" |
|
#2
| ||||
| ||||
|
Καλημέρα Φώτη! Έστω ότι η ημερομηνία βρίσκεται στο κελί Β2. Ο βασικός τύπος που θα σου επιστρέψει το αριθμό 1,2,3,4 ή 5 είναι: =SUMPRODUCT((WEEKDAY(ROW(INDIRECT("A"&B2-DAY(B2)+1&":"&"A"&B2));2)=WEEKDAY(B2;2))*1) Ο τελικός τύπος που επιστρέφει βρίσκεται στο συνημένο και παίρνει λέξεις από λίστες που έχω δημιουργήσει. Οι λίστες αυτές μπορεί κατά βούληση να μετατραπούν ή να καταργηθούν (αφού προηγουμένως τροποποιηθεί ο τελικός τύπος). Διατηρώντας τις λίστες το αποτέλεσμα θα είναι πιο αξιόπιστο ως προς τα ονόματα ημερών και μηνών. Καλή συνέχεια! Τάσος Edit: Το συνημμένο αντικαταστάθηκε με νέο βελτιωμένο (Περαιτέρω επεξεργασία τύπου)
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών Τελευταία επεξεργασία από το χρήστη Tasos : 18-10-12 στις 15:00. Αιτία: Περαιτέρω επεξεργασία τύπου |
|
#3
| |||
| |||
|
Καλησπέρα στην παρέα Μια άλλη προσέγγιση. Σ’ αυτήν για να προσδιορίσουμε τη σειρά εμφάνισης μιας μέρας μέσα στο μήνα, χρησιμοποιούμε τον τύπο: INT((DAY(A1)-1)/7)+1, στον οποίο το κελί A1 περιέχει την ημερομηνία. Για να βρούμε αν μια μέρα είναι η τελευταία στο μήνα, χρησιμοποιούμε τον τύπο: MONTH(A1)<>MONTH(A1+7). Το αρχείο που επισυνάπτω δείχνει μια εφαρμογή των παραπάνω σχέσεων. Φιλικά/Γιώργος |
|
#4
| |||
| |||
|
Καλησπέρα. Στην λογική του Γιώργου ο βασικός τύπος. Αν και βλέπω ότι αυτό που έδωσε ο Γιώργος είναι καλύτερο(Πιό προσιτό), μιας και το είχα δουλέψει, σας δίνω και την δική μου προσέγγιση. |
|
#5
| |||
| |||
|
Καλησπέρα. Πρόκειται για χιλιάδες γραμμές δεδομένων. Τάσο δουλεύει σωστά αλλά η SUMPRODUCT και η INDIRECT, θα μου σκοτώσει τον υπολογιστή. Λευτέρη πολύ καλή δουλειά. Γιώργο, άψογη προσέγγιση. Σας ευχαριστώ πολύ. |
|
#6
|
|
Καλησπέρα σας. Εγώ θα έλεγα ότι η προσέγγιση του Τάσου με χρήση πινάκων είναι η σωστή γιατί ή TEXT εξαρτάται από τις τοπικές ρυθμίσεις των WINDOWS και την γλωσσική έκδοση του EXCEL. Επίσης οι υπολογισμοί του Γιώργου για 1η ... τελευταία επίσης είναι πολύ σωστοί. Άρα ένας συνδυασμός των δύο θα έλεγα είναι το ιδανικό. βλ. συνημμένο Οι SUMPRODUCT και INDIRECT δεν είναι αναγκαίες και μπορούν να αποφευχθούν. Θανάσης |
|
#7
| ||||
| ||||
|
Καλησπέρα σε όλους! Έχετε δίκιο Θανάση και Φώτη. Και εγώ ήμουν και είμαι της γνώμης (και το έχω αναφέρει αρκετές φορές στο φόρουμ) ότι η Indirect() δεν είναι ότι καλύτερο ειδικά σε πολλά δεδομένα. Την πρότεινα (λάθος μου) επειδή αυτή μου ήρθε πρώτη στο μυαλό και επειδή υπέθεσα ότι επρόκειτο για 50-100 γραμμές. Αν όμως πρόκειται για πολλές χιλιάδες δεδομένα, ίσως πρέπει να αποφύγει κανείς τους τύπους για να ελαττώσει τους υπολογισμούς της εφαρμογής και να αυξήσει την απόδοση της, Ενδεικτικά, αν αντί για τύπους καταχωρηθούν σταθερές με VBA, o χρόνος που θα χρειαστεί για 500.000 κελιά σε ένα μέσο υπολογιστή είναι κάτω από 5 δευτερόλεπτα με αποτέλεσμα να μειωθούν δραματικά οι χρόνοι ανοίγματος, υπολογισμού και αποθήκευσης του αρχείου. Επισυνάπτω ένα παράδειγμα για δοκιμές που θα φανεί χρήσιμο περισσότερο σε αυτούς που εργάζονται σε υπολογιστές με μη ελληνική τοπική ρύθμιση συστήματος. Στο παράδειγμα αυτό: Τα ονόματα των μηνών της Ελληνικής εμφανίζονται στην γενική πτώση (με χρήση Πίνακα (Array) και της συνάρτησης ChrW() στη VB) Οι ημέρες εμφανίζονται στα ελληνικά με χρήση του παρακάτω Βρόχου επανάληψης: Κώδικας: For i = 1 To 7
GreekDayNames(i) = WorksheetFunction.Text(DateSerial(1, 1, i), "[$-408]dddd")
Next
τα ελληνικά μέσα στον VBE (απαραίτητο σε μη ελληνικούς υπολογιστές). Συμπληρώστε ας πούμε 500.000 δεδομένα και κάντε τις δοκιμές σας. Καλό ξημέρωμα! Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών Τελευταία επεξεργασία από το χρήστη Tasos : 20-10-12 στις 00:57. |
![]() |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
| ||||
| Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
| [Συναρτήσεις] Εύρεση Ημερομηνίας | xristos | Excel - Ερωτήσεις / Απαντήσεις | 10 | 27-11-15 18:27 |
| Ερώτημα για εύρεση ημερομηνίας και ημέρας γέννησης | γιώργοςΚ | Access - Ερωτήσεις / Απαντήσεις | 2 | 14-08-14 10:03 |
| [ Εκθέσεις ] Ταξινόμηση ημερομηνίας βαση ημερας | lalosjim | Access - Ερωτήσεις / Απαντήσεις | 4 | 05-06-14 17:37 |
| [ Φόρμες ] Αντιστοιχία Ημερομηνίας - Ημέρας | mgeorge | Access - Ερωτήσεις / Απαντήσεις | 3 | 04-06-11 19:35 |
| Εξαγωγή ημερομηνίας και ημέρας σε φόρμα | ntelios | Access - Ερωτήσεις / Απαντήσεις | 38 | 28-09-10 10:09 |
Η ώρα είναι 08:01.


Αλλαγή σε γραμμικό τρόπο

