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/5904-sygkrish-dhmioyrgia.html)

jim1978 29-05-21 09:34

ΣΥΓΚΡΙΣΗ & ΔΗΜΙΟΥΡΓΙΑ
 
1 Συνημμένο(α)
Καλημέρα σας .
Θα ήθελα μια συνάρτηση (λογικά συνάρτηση –ίσως και κώδικα δεν ξέρω) που να κάνει το εξής.
ΣΥΓΚΡΙΣΗ ΣΤΗΛΩΝ γραμμή γραμμή.
Εξηγώ.
Υπάρχουν στο φύλλο εργασίας κάποιες δεκάδες στήλες δεδομένων ιδίου μήκους και με α/α για την κάθε γραμμή.
Αυτό που αναζητώ είναι η δημιουργία μιας καινούργιας στήλης αυξανόμενου πλέον μήκους (αυτό θα εξαρτηθεί από τα ποσά match θα βρίσκονται κάθε φορά.)
Πάμε με παράδειγμα για να είναι πιο κατανοητό.(ανοίξτε συννημένο αρχείο είναι πιο κατανοητό)

ChrisGT7 29-05-21 13:47

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

Δοκίμασε μια πρόταση με κώδικα VBA που ελπίζω να σε καλύψει ως ένα σημείο.

Ο κώδικας λειτουργεί ως εξής:
Έχοντας επιλεγμένο ένα κελί μέσα στην περιοχή που σε ενδιαφέρει (B2:V22) και πατώντας το πορτοκαλί κουμπί, όλες οι μη διπλότυπες τιμές θα εμφανιστούν δεξιά από την περιοχή.
Ο κώδικας αντιγράφει πάντα ένα ζεύγος στηλών: την πρώτη στήλη της περιοχής (Α/Α) και την αμέσως επόμενη στήλη. Δηλαδή αν η περιοχή έχει 21 στήλες, τότε θα γίνουν συνολικά 20 αντιγραφές ζευγών.

Υπάρχει τύπος στη μορφοποίηση υπό όρους όπου φαίνονται οι επαναλαμβανόμενες τιμές ανά γραμμή (κίτρινα κελιά).

jim1978 29-05-21 17:31

Δεν μπορώ να μην ΕΥΧΑΡΙΣΤΗΣΩ καταρχήν για την απάντηση σας κ.ΧΡΗΣΤΟ.
Κατά δεύτερο θα ήθελα να δοκιμάσω, αν και όχι προγραμματιστής, να το θέσω λίγο διαφορετικά γιατί δε σας κρύβω ,μπερδεύτικα λιγάκη.
Θα ακουστεί μάλλον ανόητο αλλά θα προσπαθήσω να δώσω τον αλγόριθμο(τρόπο λειτουργίας)αυτού που σκέφτομαι.
ΞΕΚΙΝΑΜΕ
Παίρνουμε την πρώτη στήλη δεδομενων και την βάζουμε στην άκρη.
Μετά αρχίζουμε να παίρνουμε μια μια όλες τις υπόλοιπες στήλες και τις συγκρίνουμε με την πρώτη.
Υπαρχει κάποια που να είναι ίδια σε όλες τις γραμμές ΠΛΗΝ μιας η και ΔΥΟ.
ΝΑΙ......υπάρχει ας πουμε η 37 στήλη.
Παίρνουμε λοιπόν την 1 που κρατήσαμε απο την αρχή και την 37 και τις κάνουμε 1 ΚΑΙΝΟΥΡΓΙΑ στηλη.
Τώρα απο τα παλιές στήλες λειπουν οι 1 & 37 καθώς εγινε μια καινουργια.
Τωρα σειρά εχει η επόμενη στήλη στο παραδειγμα μας η 2 .
Την βαζουμε στην άκρη και ξανα ξεκινάμε την ίδια διαδικασία ,αναζήτηση μια μια τις υπόλοιπες μεχρι να βρεθεί ταιριασμα(εαν οχι, πάμε στην επόμενη στήλη και ετσι συνεχίζουμε μέχρι το τέλος)
Στόχος μας η μείωση του αριθμού των στηλών.
ΣΥΓΝΩΜΗ για την κατάχρηση ΧΩΡΟΥ & ΧΡΟΝΟΥ αλλά πραγματικά είναι πολύ σημαντικό για εμένα να βρεθεί μια λύση εαν αυτή είναι εφαρμόσιμη και πιο πολύ διαθέσιμη από όλους εσάς.
ΜΕ ΕΚΤΙΜΗΣΗ, ΔΗΜΗΤΡΙΟΣ

ChrisGT7 29-05-21 21:00

1 Συνημμένο(α)
Δημήτρη,

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

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

Δοκίμασε το συνημμένο αρχείο με καναδυό μικρές διαφοροποιήσεις.

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

jim1978 29-05-21 22:15

1 Συνημμένο(α)
Σε ΥΠΕΡΕΥΧΑΡΙΣΤΩ κΧΡΗΣΤΟ για το ενδιαφερων και την υπομονη σας να βρεθει λυση.
Το εκτιμώ απεριοριστα.
Σας ανεβαζω και το συννημενο.
Δειτε το και ελπιζω να ειναι κατανοητο αυτη τη φορα.

ChrisGT7 30-05-21 01:01

1 Συνημμένο(α)
Το οπτικό αποτέλεσμα τελικά βοηθάει περισσότερο από τη θεωρία! :)

Δοκίμασε το νέο κώδικα αν είναι εντάξει.

jim1978 30-05-21 06:54

Καλημέρα σας.
Τι μπορεί να πει κανείς όταν μπορεί στο πρόβλημα του να ΣΠΕΥΔΟΥΝ άνθρωποι σαν τον κ ΧΡΗΣΤΟ και με τόση υπομονή και θέληση να δίνουν λύσεις.
Το να σας πω ένα ευχαριστώ μάλλον είναι λίγο κ ΧΡΗΣΤΟ.
Καταπληκτική λύση,γρήγορος κώδικας,ΕΝΑ ΑΡΤΙΟ αποτέλεσμα.
ΜΕ εκτίμηση ΔΗΜΗΤΡΙΟΣ.

jim1978 30-05-21 07:30

Kαι μια σκεψη τωρα που κανω το τεστ.
Ολοκληρωνει την δημιουργια των νεων στηλων(παραδειγμα απο 68 αρχικες τις κανει 34)
Μηπως ομως μπορει να συνεχισει να μειωνει ακομα περισσοτερο ΤΡΕΧΟΝΤΑΣ τον κωδικα στις καινουργιες (δημιουργημενες) σαν δηλ αυτες να ειναι τωρα οι αρχικες.
θα δωσουμε και εναν περιορισμο στο μηκος (ας πουμε 15)της καθε στηλης για να μη χαθουμε,δηλ αν παει να κανει ενα ζευγος μια στηλη και αυτη ξεπερναει τις 15 γραμμες να μην το κανει .
ΕΑΝ ειναι εφικτο?γιατι οχι.
Ευχαριστω.

ChrisGT7 30-05-21 10:22

Καλημέρα Δημήτρη,

Σίγουρα θα το προσπαθήσω όσο μπορώ αλλά δε γνωρίζω το χρόνο υλοποίησής του.

Η δυσκολία έγγυται στο ότι ο νέος πίνακας δεν έχει την ίδια μορφή με τον αρχικό. Μερικές δυσκολίες:

1. Η στήλη Α/Α παρεμβάλεται ανάμεσα στις υπόλοιπες.
2. Οι γραμμές ανά στήλη δεν είναι ισάριθμες, γιατί οι ενοποιημένες στήλες έχουν περισσότερες γραμμές.
3. Ο ίδιος Α/Α μπορεί να υπάρχει σε περισσότερες από μία γραμμές.

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

Πάντως αν δεν κάνω λάθος και χωρίς να επιμένω, αν η σύγκριση τιμών γίνεται στις τιμές με τον ίδιο Α/Α, θεωρώ πως το αποτέλεσμα είναι δύο τελικές στήλες, όπως στην αρχική μου σκέψη (με εξαίρεση το όριο γραμμών που αναφέρεις).

Όπως και να 'χει, ευχαριστώ πολύ για τα καλά σου λόγια! :)

jim1978 30-05-21 11:12

1 Συνημμένο(α)
Χιλια ευχαριστω για τον χρονο σου και την υπομονη σου ΧΡΗΣΤΟ.
Σου ανεβαζω ενα αρχειο με περισσοτερες στηλες.
Εννοειται οτι δεν υπαρχει προβλημα χρονου ,ειναι ηδη αρκετα αυτα που εχεις κανει.
Η προταση σου δεν εινα λαθος απλα εμενα βολευει αυτη η διαδικασια.
Με εκτιμηση
ΔΗΜΗΤΡΗΣ


Η ώρα είναι 20:43.

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


Search Engine Optimization by vBSEO 3.3.2