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/2719-aytomati-arithmisi-me-xrisi-filtroy.html)

jockey17 02-10-13 18:48

Αυτόματη αρίθμηση με χρήση φίλτρου
 
Καλησπέρα.
Αυτό που θα ήθελα να κάνω είναι το εξής: όταν σε κάποια δεδομένα κάνεις χρήση φίλτρου σου δίνει την δυνατότητα η subtotal να λάβεις πληροφορία για το άθροισμα ή το πλήθος των εγγραφών που πληρούν τα κριτήρια που έβαλες. Μπορείς άραγε δίπλα από κάθε εγγραφή να έχεις και μία αυτόματη αρίθμηση των εγγραφών αυτών;
Παράδειγμα:
Το σετ των εγγραφών πριν την εφαρμογή του φίλτρου έστω ότι είναι:
α/α Κατηγορία Αξία
1 Α 12
2 Β 18
3 Β 11
4 Α 13
5 Β 16
Στη στήλη α/α υπάρχει ο τύπος προηγούμενο κελί + 1
Στο τέλος της στήλης Κατηγορία υπάρχει η subtotal για πλήθος που φέρνει ως απότελεσμα 5
Στο τέλος της στήλης Αξία υπάρχει η subtotal για άθροισμα που φέρνει ως αποτέλεσμα 70

Μετά την εφαρμογή φίλτρου για τις τιμές Β το σετ έχει ως εξής:
α/α Κατηγορία Αξία
2 Β 18
3 Β 11
5 Β 16
Στο τέλος της στήλης Κατηγορία υπάρχει η subtotal για πλήθος που φέρνει ως απότελεσμα 3
Στο τέλος της στήλης Αξία υπάρχει η subtotal για άθροισμα που φέρνει ως αποτέλεσμα 45
Το ζητούμενο μου είναι πως θα μπορούσε και η στήλη α/α να προσαρμοστεί και να δείχνει νέα αρίθμηση των εγγραφών 1, 2 ,3

eMike 02-10-13 20:16

Δοκίμασε, αν στη στήλη Α είναι η αρίθμηση που θες να κάνεις και ξεκινάς από το A2:

=--SUBTOTAL(2;B$2:B2) και τραβάς κάτω όσο χρειαστείς

Thanosp 02-10-13 20:31

Γειά σε όλους
Γράψε στην στήλη Α απο το Α2 μέχρι το τέλος και με κείμενο, την =SUBTOTAL(3;INDIRECT("$b$2:b"&ROW())), η Α1 θα είναι επικεφαλίδα.
Θανάσης

jockey17 03-10-13 20:15

Καλησπέρα και ευχαριστώ πολύ για τις απαντήσεις σας.
Η συνάρτηση =SUBTOTAL(3;INDIRECT("$b$2:b"&ROW())) λειτούργησε πολύ καλά και με την ευκαιρία κατάλαβα επιτέλους πως λειτουργεί η function indirect.
Επίσης με την =--SUBTOTAL(2;B$2:B2) θυμήθηκα, ότι η subtotal έχει και άλλες δυνατότητες πέρα από sum & countif. Όμως δεν μπορώ να καταλάβω γιατί δεν λειτουργεί και μου φέρνει συνεχώς μηδέν. Θεωρητικά θα έπρεπε να είχα το ίδιο αποτέλεσμα και με αυτή τη συνάρτηση.

Tasos 03-10-13 22:16

Καλησπέρα!

Δοκίμασε: =SUBTOTAL(3;B$2:B2)

Σημείωση:
Σε περισσότερες χιλιάδες γραμμές
Η SUBTOTAL() θα δημιουργήσει πρόβλημα απόδοσης (στην καλύτερη περίπτωση υπερβολικά μεγάλος χρόνος εκτέλεσης).
Σε τέτοιες περιπτώσεις μια λύση με χρήση VBA θα ήταν αποδοτικότερη.

Τάσος

Spirosgr 03-10-13 22:27

1 Συνημμένο(α)
Καλησπέρα
Στο βιβλίο που ακολουθεί μπορείτε να δείτε κάποιους τρόπους (3)
για να πετύχουμε το ζητούμενο αλλά και το γιατί αν βάλουμε λάθος αριθμό συνάρτησης 2 αντί 3 για COUNT, COUNTA σε πολλές περιπτώσεις μπορεί να έχουμε λάθος αποτέλεσμα
όπως ο φίλος Μιχάλης που η συνάρτηση επιστρέφει 0
Προσωπική άποψη και το -- είναι πλεονασμός
Λεπτομέρειες στο βιβλίο
ΥΓ Τάσο δεν σε είδα όσο έγραφα

eMike 03-10-13 23:11

2 Συνημμένο(α)
Συγνώμη για το λάθος με το 2 αντί για 3.. Βιάστηκα να απαντήσω πιστεύοντας πως μετράμε αριθμούς μόνο, για κάποιο λόγο.

Το -- δεν είναι πλεονασμός μιας και η subtotal έχει bug στη συγκεκριμένη περίπτωση και πρέπει να το ξεγελάσεις. Είτε είσαι σε πίνακα είτε όχι.

Το είδα κάπου κι εγώ παλιότερα, δε το ανακάλυψα, μη νομίζετε. :003:

Tasos 04-10-13 01:52

1 Συνημμένο(α)
Καλημέρα!

Αγαπητέ Μιχάλη πραγματικά υπάρχει το Bug που ανέφερες ευτυχώς σε παλαιότερες εκδόσεις Excel.

Στην έκδοση 2013 η SUBTOTAL σε συνδυασμό με το αυτόματο φίλτρο συμπεριφέρεται κανονικά.

Δείτε ένα παράδειγμα με δεδομένα σε 22.000 γραμμές περίπου με χρήση της SUBTOTAL στο πρώτο φύλλο
και με χρήση της VBA στο δεύτερο.

Έχω προσθέσει και χρονόμετρο για να φανούν οι διαφορές.

Με εκτίμηση

Τάσος


Η ώρα είναι 10:14.

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


Search Engine Optimization by vBSEO 3.3.2