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/4286-ksekatharisma-biblioy-ergasias.html)

Σπύρος23 18-09-16 23:50

Ξεκαθάρισμα Βιβλίου εργασίας
 
Έχω το παρακάτω αρχείο με πολλές εγγραφές
Θέλω το εξής:
Επειδή έχω διπλοεγγραφές με ίδιο ΑΦΜ, θέλω να ελέγχει το ΑΦΜ και από τις διπλοεγγραφές που έχουν ίδιο ΑΦΜ να κρατά αυτή που έχει συμπληρωμένη τη στήλη κωδικός και την άλλη να τη διαγράφει , αλλά ταυτόχρονα να κρατά και τις εγγραφές που τα ΑΦΜ είναι μοναδικά.
Ώστε, στο τέλος να έχουν μείνει τα ΑΦΜ που έχουν συμπληρωμένη τη στήλη κωδικός και όσα μοναδικά ΑΦΜ έχουν κενή την στήλη κωδικός
Ευχαριστώ εκ των προτέρων

Spirosgr 19-09-16 09:38

Επειδή μπορεί να δημιουργηθούν προβλήματα, οι εικόνες με τα ΑΦΜ θα διαγραφούν
Το ίδιο και από το προηγούμενο post.
Ανέβασε αρχείο με fake παραδείγματα και πες μας τι θέλεις...

ChrisGT7 19-09-16 10:13

Μια γρήγορη λύση είναι η παρακάτω:

Έστω η Α στήλη είναι η στήλη των ΑΦΜ, τότε σε μια διπλανή στήλη και στη 2η σειρά της (η 1η γραμμή πιστεύω είναι η επικεφαλίδα), γράψε: =COUNTIF($A$1:A1;"="&A2)
Αν οι ΑΦΜ είναι σε διαφορετική στήλη από την Α, απλά αντικατέστησε το Α με το γράμμα της αντίστοιχης στήλης.

Μετά σύρε τη συνάρτηση μέχρι την τελευταία γραμμή των δεδομένων σου για να εμφανιστεί σε κάθε γραμμή πόσες φορές υπάρχει ο ΑΦΜ στις προηγούμενες γραμμές.
Τέλος, σ' αυτή τη στήλη βάλε αυτόματο φίλτρο για να φιλτράρεις όλες τις τιμές άνω του 0 και μετά απλά διαγράφεις αυτές τις γραμμές. Το 0 σημαίνει ότι ο συγκεκριμένος ΑΦΜ δεν υπάρχει δεύτερη φορά στις προηγούμενες γραμμές.

kapetang 19-09-16 11:08

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

Στο συνημμένο προτείνω μια λύση με κώδικα VBA.

Πατώντας το κουμπί εκτελείται κώδικας, οποίος αντιγράφει στην περιοχή που αρχίζει από το κελί G2 μόνο τις γραμμές της περιοχής δεδομένων (αρχίζει από το κελί A2), που ικανοποιούν τα παρακάτω κριτήρια:

1) Το ΑΦΜ είναι μοναδικό

2) Το ΑΦΜ δεν είναι μοναδικό αλλά είναι η 1η γραμμή με μη κενό τον αντίστοιχο κωδικό (αν ακολουθούν γραμμές με ίδιο ΑΦΜ και μη κενό τον κωδικό δεν αντιγράφονται).

3) Το ΑΦΜ δεν είναι μοναδικό, αλλά όλες οι γραμμές με ίδιο ΑΦΜ έχουν κενό τον κωδικό και αυτή είναι η 1η.

Φιλικά/Γιώργος

kapetang 19-09-16 13:55

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

Στο προηγούμενο μήνυμά μου πρότεινα μια υλοποίηση του ζητούμενου με κώδικα VBA.

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

Στο συνημμένο αρχείο, υπάρχει και ο αρχικός και ο νέος κώδικας.

Συγκεκριμένα:

1) Στο φύλλο Sheet1 η υλοποίηση του ζητούμενου γίνεται με τον αρχικό κώδικα.

2) Ενώ στο φύλλο Sheet2 η υλοποίηση του ζητούμενου γίνεται με το νέο κώδικα.

Προτείνω τη χρήση της λύσης του Sheet2, ως ταχύτερης, πιο κατανοητής και συντομότερης.

Φιλικά/Γιώργος

Σπύρος23 19-09-16 22:07

Χίλια ευχαριστώ


Η ώρα είναι 08:49.

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


Search Engine Optimization by vBSEO 3.3.2