Jump to content



Πως μπορώ να το κάνω στο excel ?


Recommended Posts

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

 

Εφτιαξα μια μακροεντολή η οποία ανάλογα με την ημερομηνία που βάζω στο φύλλο ελέγχου (φύλλο 1) , κάνει φιλτράρισμα στον πίνακα δεδομένων (φύλλο 2) και στην συνέχεια εφάρμ

ωσα vlookup, πιστεύοντας πως θα βλέπει τα προιόντα μετά το φιλτράρισμα και δεν θα συμπίπτει σε 2 ίδιες εγγραφές.

Παρόλα αυτά δεν δουλεύει ....

 

Ξέρει κανείς κάτι?

Μπορεί να με βοηθήσει στο πως θα το πετύχω ?
 

Edited by adpanos
Link to comment
Share on other sites

Εξαχνα να το κάνω με vlookup μπας και γλυτώσω το γράψιμο κώδικα....

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

dim a as date

dim e as string

dim mer as string

.....

...

...

 

a = ActiveSheet.Range("g2").Value

e= ActiveSheet.Range("g3").Value

 

Worksheets("Á_ÕËÅÓ").Activate

for i=1 to 5000

if mpla mpla mpla .... =  and mpla mpla mpl;a 2

If ActiveSheet.Range("a" & i).Value = a And ActiveSheet.Range("c" & i).Value = e

then


mer1 = ActiveSheet.Range("g" & i).Value
mer2 = ActiveSheet.Range("h" & i).Value

....

....

....

....

 

end if

next i

 

Worksheets("öýëëï åëÝã÷ïõ").Activate

ActiveSheet.Range("h8") = mer
ActiveSheet.Range("h9") = mer1
ActiveSheet.Range("h10") = mer2

...

...

...

...

..

.

:hehe::hehe::amen::amen:

 

Αλλά δεν γίνεται να το αποφύγω ...

 

Αν έχει κανείς κανέναν καλύτερο τρόπο θα του άναβα λαμπάδα ... γατί τα data είναι πολλά.

Edited by adpanos
Link to comment
Share on other sites

Στο φύλλο 2 έχεις την στήλη Α με τις ημερομηνίες και την στήλη Β με τον κωδικό του προϊόντος.

Οι κωδικοί επαναλαμβάνονται αλλά υπάρχει περίπτωση να έχεις ένα προϊόν με την ΙΔΙΑ ημερομηνία;;;

 

 

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

 

Παράθεση

{=INDEX(Φύλλο2!$A$2:$G$11;MATCH(1;($A2=Φύλλο2!$A$2:$A$999)*($B2=Φύλλο2!$B$2:$B$999);0);3)}

{=INDEX(Φύλλο2!$A$2:$G$11;MATCH(1;($A3=Φύλλο2!$A$2:$A$999)*($B3=Φύλλο2!$B$2:$B$999);0);4)}

{=INDEX(Φύλλο2!$A$2:$G$11;MATCH(1;($A4=Φύλλο2!$A$2:$A$999)*($B4=Φύλλο2!$B$2:$B$999);0);5)}

...

{=INDEX(Φύλλο2!$A$2:$G$11;MATCH(1;($A2=Φύλλο2!$A$2:$A$999)*($B2=Φύλλο2!$B$2:$B$999);0);999)}

- Γράφεις την συνάρτηση και η αγκύλη ενεργοποιείται με CTRL+SHIFT+ENTER για να παίξει

- τσιμπάει τις τιμές Ημερ. & Κωδικός, τις ματσάρει στο Φύλλο 2 και σου επιστρέφει την τιμή του κελιού από το αριθμό στο τέλος της συνάρτησης

Το  καταλαβαίνεις πώς παίζει;

 

 

 

(για κάποιο λόγο δεν μπορώ να επεξεργαστώ τα posts μου οπότε γράφω συνέχεια νέα :( )

 

Πάρε και το αρχείο που έκανα τις δοκιμές. :)

TEST.xlsx

  • Like 2
Link to comment
Share on other sites

On 10/10/2016 at 9:54 ΜΜ, το μέλος dpolal έγραψε:

Στο φύλλο 2 έχεις την στήλη Α με τις ημερομηνίες και την στήλη Β με τον κωδικό του προϊόντος.

Οι κωδικοί επαναλαμβάνονται αλλά υπάρχει περίπτωση να έχεις ένα προϊόν με την ΙΔΙΑ ημερομηνία;;;

 

 

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

 

- Γράφεις την συνάρτηση και η αγκύλη ενεργοποιείται με CTRL+SHIFT+ENTER για να παίξει

- τσιμπάει τις τιμές Ημερ. & Κωδικός, τις ματσάρει στο Φύλλο 2 και σου επιστρέφει την τιμή του κελιού από το αριθμό στο τέλος της συνάρτησης

Το  καταλαβαίνεις πώς παίζει;

 

 

 

(για κάποιο λόγο δεν μπορώ να επεξεργαστώ τα posts μου οπότε γράφω συνέχεια νέα :( )

 

Πάρε και το αρχείο που έκανα τις δοκιμές. :)

TEST.xlsx

 

 

Μόλις ολοκλήρωσα το εγχείρημα και όλα πλέον δουλεύουν!

 

Να κάνω και μια άλλη ερώτηση αν ξέρεις?

 

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

 

Όλα αυτά τα πρότυπα βιβλία με μια μακροεντολή , create_new_day_macro ...  κλωνοποιούνται καθημερινά σε νέα βιβλία με κατάληξη την ημερομηνία εργασίας και η μακροεντολή δίνει τις απαιτούμενες συνδέσεις μεταξυ τους.

Από εκεί και πέρα σε κάθε βιβλίο υπάρχει το φύλλο συνδέσεων με τα άλλα βιβλία, το οποίο είναι και φύλλο συνόνου για το βιβλίο αυτό, ενώ ταυτόχρονα υπάρχει και ένα φύλλο πρότυπο (template) το οποίο κλωνοποιείται μέσω μακροεντολών και παίρνει τις απαιτούμενες συνδέσεις ως προς το φύλλο συνόλου.

 

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

 

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

 

Ξέρεις κανείς πως μπορώ να ζητήσω να μην μου κάνει οπτική εναλλαγή κατάστασης το excel, έως την στιγμή που θα ολοκληρωθεί ο κύκλος της μακροεντολής ?

 

Ευχαριστώ.

Edited by adpanos
Link to comment
Share on other sites

  • 5 months later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.