Excel - Ερωτήσεις / Απαντήσεις Ότι έχει σχέση με συναρτήσεις, μορφοποίηση, εκτυπώσεις γραφήματα κτλ. |
![]() |
| Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
#1
| |||
| |||
![]()
Γειά σας. Θα μπορούσαμε, εκτός από την πρώτη συχνότερη τιμή, που μας δίνουν οι εκπληκτικοί τύποι του Τάσου σε αυτό το θέμα, http://www.ms-office.gr/forum/statis...mia-stili.html Να παίρνουμε και όσες ακόμα θέλουμε; Δηλ. την δεύτερη την Τρίτη την τέταρτη, ή όσες ακόμα θέλουμε συχνότερες τιμές;; |
#2
| |||
| |||
![]()
Καλημέρα Ελένη, στο επισυναπτόμενο αρχείο μπορείς να δεις μια υλοποίηση του ζητούμενου. Για τη λύση χρησιμοποιείται η βοηθητική στήλη B2:B21 και οι τύποι πίνακα: =COUNTIF(A2:A21;A2:A21)*(COUNTIF(OFFSET($A$2;;;ROW (1:20));OFFSET($A$2;ROW(1:20)-1;;1))=1)-ROW(A2:A21)/10^7 =INDEX(A2:A21;MATCH(LARGE(B2:B21;ROW(INDIRECT("$A$ 1:$A$"&COUNTIF(B2:B21;">0"))));B2:B21;0)) Στους παραπάνω τύπους τα δεδομένα είναι στην περιοχή A2:A21. Περισσότερα στο αρχείο. Φιλικά/Γιώργος |
#3
| |||
| |||
![]()
Καλημέρα σας. Ωραίο θέμα-Πολύ ενδιαφέρον, άνοιξες Ελένη. Να αναλύσω λοιπόν τις προτάσεις μου. Αρχικά να πώ(ελπίζω να μου επιτρέπει ο Τάσος), ότι για να βρούμε μόνον την (μία) συχνότερη τιμή, μπορούμε να χρησιμοποιήσουμε μία πολύ πιο απλή φόρμουλα και κανονική(Όχι τύπου πίνακα). Δηλ. αν έχουμε για παράδειγμα Ονόματα στην περιοχή Α2:Α30(Το Α1 είναι η επικεφαλίδα), Χρησιμοποιούμε αυτή την φόρμουλα. Κώδικας: =INDEX(A2:A1000; MODE(MATCH(A2:A30;A2:A1000;0))) Για αυτό θα χρησιμοποιήσουμε Δυναμικές Ονομαζόμενες Περιοχές(Dynamic Named Ranges). Πάμε λοιπόν. Τύποι>>Διαχείριση Ονομάτων>>Δημιουργία. Στο πλαίσιο Όνομα , ορίζουμε ένα Όνομα. Εγώ επέλεξα Names. Στο πλαίσιο Αναφορά σε: πληκτρολογούμε αυτόν τον τύπο. =OFFSET($A$1;0;0;MATCH("*";$A:$A;-1);1 Τώρα λοιπόν έχουμε μία δυναμικά αυτοεπεκτεινόμενη λίστα( μπορείτε να προσθέσετε όσα εσείς Ονόματα θέλετε) στην στήλη Α. Έτσι λοιπόν χρησιμοποιούμε αυτόν τον τύπο για να πάρουμε το Όνομα που εμφανίζεται τις περισσότερες φορές στην λίστα μας.. =INDEX(Names;MODE(MATCH(Names;Names;0))) Αυτή η φόρμουλα όμως μας δίνει μόνον το συχνότερο Όνομα. Όχι το 2ο,3ο κλπ… Έτσι λοιπόν ξεκινώντας από την δεύτερη γραμμή(Η πρώτη γραμμή(Εγώ διάλεξα το κελί Ε2) μπορεί να είναι επικεφαλίδα, αλλιώς να είναι κενή), βάζουμε αυτήν την ARRAY φόρμουλα Κώδικας: =INDEX($A$1:$A$100; MODE(IF(($A$1:$A$100<>"") * ISNA(MATCH($A$1:$A$100;$E$1:$E1;0)); MATCH($A$1:$A$100;$A$1:$A$100;0)))) Όσοι χρησιμοποιούν EXCEL<= 2003, βάζουν την IF(ISERROR, μπροστά για να αποφύγουν τα λάθη όταν τραβάνε προς τα κάτω. Για Excel>2003, την IFERROR. Κώδικας: =IF(ISERROR(INDEX($A$1:$A$100; MODE(IF(($A$1:$A$100<>"") * ISNA(MATCH($A$1:$A$100;$E$1:$E6;0)); MATCH($A$1:$A$100;$A$1:$A$100;0))))); ""; INDEX($A$1:$A$100;MODE(IF(($A$1:$A$100<>"") * ISNA(MATCH($A$1:$A$100;$E$1:$E6;0)); MATCH($A$1:$A$100;$A$1:$A$100;0))))) Κώδικας: =IFERROR(INDEX($A$1:$A$100; MODE(IF(($A$1:$A$100<>"") * ISNA(MATCH($A$1:$A$100;$E$1:$E7;0)); MATCH($A$1:$A$100;$A$1:$A$100;0)))); "") Κώδικας: =INDEX(Names; MODE(IF((Names<>"") * ISNA(MATCH(Names;$Ε$1:$Ε1;0)); MATCH(Names;Names;0)))) Τι λέτε; ΥΓ.Από το γραφείο δεν μπορώ να ανεβάσω αρχεία στο Διαδίκτυο. Αν ο Διαχειριστής-οι συντονιστές, κρίνουν ότι θέλουν να χρησιμοποιήσουν την πρότασή μου με κάποιο τρόπο, να ανεβάσω το Σαβ/κο το αρχείο από το σπίτι. Τελευταία επεξεργασία από το χρήστη gr8styl : 11-04-13 στις 19:35. Αιτία: Διόρθωση πλάτους μηνύματος |
#4
| |||
| |||
![]()
Οδυσσέα Καλημέρα Πιστεύω ότι, αν ανέβαζες ένα αρχείο με διευκρινήσεις για το ρόλο και τα αποτελέσματα που επιστρέφει κάθε όρος του τύπου, θα διευκόλυνες τα μέλη του φόρουμ να αντιληφθούν τη λογική του. Βρίσκω τη λύση σου πάρα πολύ καλή, αλλά κάνοντας δοκιμές διαπίστωσα ότι:
Φιλικά/Γιώργος |
#5
| |||
| |||
![]()
Καλημέρα σας. Κύριοι δεν έχω λόγια. Απλά υποκλίνομαι. Και οι 2 λύσεις για μένα δουλεύουν άψογα με εκείνη του Οδυσσέα να δουλεύει σε 1 στήλη. Οδυσσέα, Γιώργο. Σας ευχαριστώ πολύ για μιά ακόμα φορά. |
#6
| |||
| |||
![]()
Καλημέρα και από εμένα. Γιώργο, διακριτικός και ευγενικός, όπως πάντα. Πράγματι, είναι παράλειψή μου ότι δεν είπα πως ο τύπος δεν δουλεύει για "τιμές" που εμφανίζονται μία και μοναδική φορά στην λίστα. Αν αυτό είναι σε κάποιες ίσως περιπτώσεις πρόβλημα-είδα ότι για την Ελένη δεν είναι, τότε πιστεύω ότι θα μπορούμε να το λύσουμε. Η χρήση του F9, απομονώνοντας το κάθε μέρος του τύπου, μας δίνει εκπληκτικά σε ανάλυση το τι παράγει το κάθε μέρος, όπως ένας άριστος-σαν εσένα-Exceller γνωρίζει. Έτσι λοιπόν κάθε μέλος του φόρουμ που επιθυμεί να αναλύσει περισσότερο τον τύπο, μπορεί να ψαχτεί με αυτόν ή άλλον(όπως ο καθένας συνηθίζει να το ψάχνει)τρόπο και να αναλύσει τον τύπο. Εγώ τουλάχιστον χρησιμοποιώντας αυτόν τον τρόπο προσπαθώ να μάθω περισσότερα πράγματα για το Excel Ανεβάζω ένα μικρό αρχείο σαν παράδειγμα. |
#7
|
![]()
Καλησπέρα σας. Αν και η Ελένη που έβαλε το ερώτημα είπε ότι καλύφθηκε πλήρως, εγώ νομίζω ότι υπάρχουν κάποια σημεία που χρειάζονται περισσότερη προσοχή και για αυτό καταθέτω 2 προτάσεις στο συνημμένο. Η πρώτη πρόταση χρησιμοποιεί βοηθητική στήλη όπως η πρόταση του Γιώργου, αλλά με απλούς τύπους και όχι πίνακα (no array formula) Η δεύτερη πρόταση υλοποιείται σε μια στήλη με τύπο πίνακα χωρίς βοηθητική στήλη (αν κατάλαβα καλά προτιμώμενη από την Ελένη). Τα πλεονεκτήματά της σε σχέση με την πρόταση του Οδυσσέα είναι δύο: 1) λαμβάνει υπόψη και τις τιμές που εμφανίζονται μια και μόνο φορά, κάτι που δεν μπορεί να γίνει με την MODE, και 2) λειτουργεί και με λίστες τιμών που μπορούν να περιλαμβάνουν και κενά κελιά. Νομίζω ότι τα δύο αυτά ζητήματα είναι σημαντικά για να θεωρήσουμε την λύση σαν γενική, όπως οι συναρτήσεις του Τάσου στο θέμα “Προσδιορισμός συχνότερης εγγραφής σε μια στήλη.” Θα ήθελα να σημειώσω εδώ ότι η πρόταση του Οδυσσέα για απλούστευση των τύπων του Τάσου, δεν καλύπτει την περίπτωση που η αρχική μας λίστα περιέχει κενά, γιατί μας επιστρέφει λάθος !!! Αν συμφωνείται λοιπόν ότι οι προτάσεις του συνημμένου καλύπτουν πλήρως το θέμα “Προσδιορισμός συχνότερων τιμών” σε γενικότερο πλαίσιο, θα πρότεινα να τις ανεβάσουμε στις Στατιστικές Συναρτήσεις Excel μαζί με αυτές του Τάσου που είναι ήδη εκεί. Θανάσης ΥΓ. Τάσο θα μπορέσεις να επιληφθείς της κατάλληλης μορφοποίησης για την ενότητα Συναρτήσεις Excel ![]() |
#8
| |||
| |||
![]()
Καλησπέρα στην παρέα Στο επισυναπτόμενο αρχείο υπάρχει μια άλλη προσέγγιση του ζητούμενου. Σ’ αυτήν χρησιμοποιούνται ονόματα και τύποι, χωρίς βοηθητικές στήλες, για να εντοπίσουμε τις διαφορετικές τιμές μιας λίστας δεδομένων και τις αντίστοιχες συχνότητές τους. Στις διαφορετικές τιμές συμπεριλαμβάνονται και οι τιμές των ενδιάμεσων κελιών, που φαίνονται κενά και μάλιστα γίνεται διάκριση μεταξύ των πραγματικά κενών και αυτών που περιέχουν κείμενο μηδενικού μήκους. Περισσότερες λεπτομέρειες στο αρχείο. Φιλικά/Γιώργος Τελευταία επεξεργασία από το χρήστη kapetang : 08-04-13 στις 08:05. Αιτία: αλλαγή συνημμένου λόγω βελτίωσης τύπου |
#9
| |||
| |||
![]()
Τι να πώ;; Απλά είμαι περίεργη. Θα δώ και άλλα; |
#10
| |||
| |||
![]() Δεν πρέπει βρε Ελένη; Γειά σας. Να πω 2 πράγματα. Το συγκεκριμένο θέμα-όπως και τα περισσότερα στο Excel, μπορεί να λυθεί με πολλούς συνδυασμούς συναρτήσεων που δημιουργούν με την σειρά τους(κατά κανόνα) περίπλοκους τύπους.Κατά κανόνα, τύπους Πίνακα(Array formula), όπως αυτοί που δώσαμε ο Γιώργος, ο Θανάσης και εγώ σε αυτό το θέμα. Όλοι τους με τα πλεονεκτήματά τους και τα μειονεκτήματά τους. Ένας ακόμα, για να καλύψουμε και την περίπτωση των τιμών(ονομάτων) που εμφανίζονται μόνο μία φορά-θεωρώ ότι απο παραδρομή αναφέρθηκε ότι ο τύπος που πρότεινα δεν καλύπτει την περίπτωση κενών κελιών-είναι ο εξής: Σε ένα κελί(διάλεξα το G2) αυτός ο τύπος πίνακα, και κάτω Κώδικας: =INDEX($A$2:$A$100; SMALL(IF(FREQUENCY(IF($A$2:$A$100<>""; MATCH($A$2:$A$100;$A$2:$A$100;0)); ROW($A$2:$A$100)-ROW(A1)+1); ROW($A$2:$A$100)-ROW(A1)+1); ROWS($G$2:G2))) Άν το είχα κάνει, μάλλον τώρα θα ήμουν πολύ μεγάλο στέλεχος της Microsoft και θα ήμουν αλλού. Μακριά από μένα λοιπόν ο τίτλος του ειδικού στο Excel. ![]() Θεωρώ την εμπειρία και την μακρόχρονη τριβή με το αντικείμενο σαν τον καλύτερο Δάσκαλο. Προσωπικά ασχολιέμαι απο το 1997! Το παράτησα εντελώς για 5 χρόνια το 2007 και κανένα εξάμηνο τώρα, ξανακόλησα... Το "παράξενο" είναι ότι σε δικές μου δουλειές δεν προτιμώ να χρησιμοποιώ αυτού του τύπου φόρμουλες. Είναι πολύπλοκες και επιπλέον σε μεγάλο μέγεθος δεδομένων, γίνονται και πολύ αργές..Απλές φόρμουλες,συνήθως σε συνδυασμό με βοηθητικές στήλες, είναι ο τρόπος που συνήθως βαδίζω. Κλείνοντας να πώ κάτι που πρίν χρόνια μου είπε ο τότε Πρωταθλητής Ελλαδας στο πρωτάθλημα Rally, με το οποίο φυσικά συμφωνώ απόλυτα. "..Έχε υπόψιν σου φίλε μου, ότι οι καλύτεροι οδηγοί αγώνων δεν έχουν ιδέα για τι πως δουλεύει η μηχανη των αυτοκινήτων τους. Όμως οι εταιρείες τους πληρώνουν εκατομμύρια για να κάνουν καλά αυτό που ξέρουν. Να οδηγούν γρήγορα και να τους φέρνουν τα πρωταθλήματα.." Καλή εβδομάδα. Τελευταία επεξεργασία από το χρήστη gr8styl : 11-04-13 στις 19:38. Αιτία: Διόρθωση πλάτους μηνύματος |
![]() |
Ετικέτες |
array formula, dynamic names, δυναμικά ονόματα, τύπος πίνακα |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
| ||||
Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
Εύρεση των X συχνότερων τιμών | kapetang | Excel - Tips & Tricks | 0 | 12-04-13 10:13 |
Προσδιορισμός μελλοντικού χρόνου | makisak | Access - Ερωτήσεις / Απαντήσεις | 8 | 14-06-12 20:04 |
Προσδιορισμός συχνότερης τιμής σε μια στήλη | Tasos | Στατιστικές | 0 | 14-10-11 10:58 |
Προσδιορισμός τριμήνου με βάση μια ημερομηνία. | Tasos | Ημερομηνία & ώρα | 0 | 30-09-11 12:51 |
Η ώρα είναι 05:44.