Forum

Forum (https://www.ms-office.gr/forum/)
-   Excel - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/)
-   -   [Συναρτήσεις] Ταξινόμηση Κατά Αλφαβητική Σειρά (Αποτελέσματος και όχι Τύπου) (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/2328-taksinomisi-kata-alfabitiki-seira-apotelesmatos-kai-oxi-tipoy.html)

mdragon 07-02-13 10:33

Ταξινόμηση Κατά Αλφαβητική Σειρά (Αποτελέσματος και όχι Τύπου)
 
1 Συνημμένο(α)
Καλημέρα σε όλους,
Σε μία στήλη έχω ονόματα σκόρπια, στην δεύτερη στήλη θα ήθελα λοιπόν να μεταφέρονται τα
ονόματα αυτά χωρίς κενά και κατά αλφαβητική σειρά.
Κάτι κάνω λάθος :plaf:


Φιλικά
Μάρω

Οδυσσέας 07-02-13 13:00

Καλημέρα.

Βάλε τα Ονόματά σου στην στήλη Β.

Στο Α2 βάλε τον τύπο

=COUNTIF($B$2:$B$21;"<="&B2) και τράβα προς τα κάτω. Αυτή η στήλη μπορεί να κρυφτεί. Είναι βοηθητική.

Στο C2 και τράβα προς τα κάτω, αυτόν.

=IFERROR(VLOOKUP(ROW()-ROW($C$1);$A$2:$B$21;2;FALSE);"")

Είναι εντάξει;

mdragon 07-02-13 14:43

Δουλεύει μια χαρά.
Σε ευχαριστώ για τον χρόνο σου.




Μάρω

mdragon 08-02-13 07:52

Να το δυσκολέψω λίγο?
Και αν έχουμε 2 ή περισσότερες στήλες που θέλουμε να καταλήγουν σε μία ταξινομημένες :oeo:



Την καλημέρα μου,
Μάρω

Οδυσσέας 08-02-13 11:42

Καλημέρα.

Μάρω να υποθέσω ότι η απλή λύση, δεν σε καλύπτει; Εννοώ να αντιγράψεις(αντιγραφή επικόλληση) ΄στην στήλη Β-ξεκινώντας για παράδειγμα από το Β100, τα δεδομένα της επόμενης στήλης, στο Β200 της αμέσως επόμενης κ.ο.κ. Έτσι λοιπόν επεκτείνοντας τους 2 τύπους που έδωσα, θα έχεις τα αποτελέσματά σου χωρίς να κάνεις κάτι περισσότερο.
Υπάρχουν τρόποι να εξάγεις απο πολλές λίστες μία μοναδική αλλά εδώ αρχίζουν οι διάφοροι περιορισμοί.(Τα κενά κελιά, τα ταξινομημένα αποτελέσματα κλπ).
Θεωρώ ότι μπορούμε να το κάνουμε χρησιμοποιώντας βοηθητικές στήλες και κάποιους(περίπλοκους) τύπους Πίνακα.
Εσύ αποφασίζεις.Θέλεις να δοκιμάσουμε;

mdragon 08-02-13 12:52

Καλημέρα.
Να σου πω την αλήθεια δεν με βοηθά η αντιγραφή και επικόλληση γιατί είναι πολλά τα δεδομένα.
Όταν έκανα την ερώτηση είχα στο μυαλό μου να μαζεύω τα δεδομένα σε μία στήλη χρησιμοποιώντας την index και την match. Γι αυτό και η λύση που μου έδωσες ήταν μια χαρά.
Έλα όμως που δεν είχα υπολογίσει ότι τα δεδομένα μου αναφέρονται σε πολλά φύλλα που μπορούν να αλλάξουν ακόμα και ποσότητα. Έτσι λοιπόν θεώρησα πως θα με βόλευε να τα μαζέψω όλα σε ένα φύλλο, και σε κάθε στήλη να αναφέρομαι και σε άλλο φύλλο.
Αλλά επειδή χάθηκα και εγώ με αυτά που λέω θα φτιάξω μια "μικρογραφία" και θα την ανεβάσω για να καταλάβεις τι εννοώ.


Μάρω

mdragon 08-02-13 14:09

1 Συνημμένο(α)
Για δες και πες τη γνώμη σου.
Όπως και να έχει σε ευχαριστώ για το χρόνο σου


Μάρω


Μπράβο Μάρω :fryingpan: !!!!

Tasos 08-02-13 16:28

Καλησπέρα!

Μάρω το παράδειγμα που ανέβασες είναι κλειδωμένο με κωδικό.

Ωστόσο θα προτείνω το εξής:

Έστω ότι οι στήλες A:C περιέχουν δεδομένα από άλλα φύλλα του βιβλίου ή και από άλλο βιβλίο.

Στην περιοχή $D$2:$D$500 (μπορείς να αποκρύψεις τη στήλη D) χρησιμοποίησε τον τύπο:

=IFERROR(INDEX(A:C;(ROW()-2)/3+2;MOD(ROW()-1;3)+1)&"";"")

Το μήκος της αυτής περιοχής θα πρέπει να είναι τουλάχιστον το μήκος της μεγαλύτερης των στηλών A:C * 3 αφού οι στήλες είναι τρεις.

Στη στήλη του αποτελέσματος, ξεκινώντας από τη δεύτερη γραμμή βάλε τον τύπο πίνακα (CSE) :

Κώδικας:

=INDEX($D$2:$D$500;MATCH(LARGE(COUNTIF(D$2:D$500;">="&D$2:D$500);ROWS($1:1));COUNTIF(D$2:D$500;">="&D$2:D$500);0))&""
και σύρε τα κελιά σου προς τα κάτω όσο χρειαστεί.

Καλή συνέχεια!

Τάσος

Οδυσσέας 08-02-13 19:24

1 Συνημμένο(α)
Μάρω έχοντας κλειδωμένο το φύλλο σου, την πρότασή μου στην δίνω σύμφωνα με το πρώτο συνημμένο σου.

Στο Ι2 και τραβάς προς τα κάτω, αυτόν τον τύπου Πίνακα τύπο.

=INDEX(tbl;SMALL(IF(SMALL(IF(COUNTIF($I$1:I1;tbl)+ ISBLANK(tbl)=0;COUNTIF(tbl;"<"&tbl)+1;"");1)=IF(IS BLANK(tbl);"";COUNTIF(tbl;"<"&tbl)+1);ROW(tbl)-MIN(ROW(tbl))+1);1);MATCH(MIN(IF(COUNTIF($I$1:I1;t bl)+ISBLANK(tbl)>0;"";COUNTIF(tbl;"<"&tbl)+1));IND EX(IF(ISBLANK(tbl);"";COUNTIF(tbl;"<"&tbl)+1);SMAL L(IF(SMALL(IF(COUNTIF($I$1:I1;tbl)+ISBLANK(tbl)=0; COUNTIF(tbl;"<"&tbl)+1;"");1)=IF(ISBLANK(tbl);"";C OUNTIF(tbl;"<"&tbl)+1);ROW(tbl)-MIN(ROW(tbl))+1);1);;1);0);1)

Με IFERROR μπροστά από τον τύπο αποφεύγεις τα Δ/Υ#.

mdragon 08-02-13 19:55

Διόρθωσα το παραπάνω αρχείο μου. :whistle: και επανέρχομαι

Οδυσσέας 08-02-13 20:06

1 Συνημμένο(α)
Ίδια απάντηση Μάρω.

mdragon 08-02-13 20:07

Μπράβο και στους δυο σας. Με γλυτώσατε από πολύ κόπο.
Εύχομαι οι ερωτήσεις μου να βοηθούν και άλλους χρήστες.


Ευχαριστώ και πάλι
Μάρω

gr8styl 08-02-13 20:44

Αν μου επιτρέπετε θα ήθελα απλά να πω προσοχή στα ίδια ονόματα
αν έχουμε έναν οδηγό Θανάση και έναν υπάλληλο Θανάση στην τελική λίστα θα εμφανιστεί μόνο ένας Θανάσης.

Επίσης θα ήθελα να σας πω ότι για την αυτόματη ταξινόμηση με τύπους είχα ανεβάσει ένα θέμα στα Tips & Tricks πριν από κάποια χρόνια δείτε εδώ: http://www.ms-office.gr/forum/excel-...nartiseis.html

Θανάσης

mdragon 11-02-13 14:27

Έχεις δίκιο Θανάση, το πρόσεξα και εγώ αλλά το αμέλησα δεδομένου ότι δεν έχω ίδια ονόματα.
Πολύ χρήσιμο και το δικό σου παράδειγμά.


Φιλικά,
Μάρω


Η ώρα είναι 17:38.

Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.


Search Engine Optimization by vBSEO 3.3.2