Προς το περιεχόμενο
  • 0

Μια βοήθεια για excel.


iphotographer

Ερώτηση

Καλησπέρα. Από excel ξέρω τα πολυ πολύ βασικά, δεν το δουλεύω και πολύ βέβαια. Προέκυψε ένα θέμα όμως στην δουλειά που θέλω να κάνω κάτι που θα μου λύσει τα χέρια. 

Έχω κάποια reports ανά έτος από το 2000 - 2020 και το κάθε ένα έχει γύρω στα 50.000 rows. Όλα τα rows ξεκινάνε με ένα κωδικό είδους (όχι αύξων αριθμό). Απλά το κάθε report μπορεί να έχει από μία φορά το κάθε κωδικό αλλά με διαφορετικά πεδία συμπληρωμένα. Εγώ θέλω να έχω στο κάθε κωδικό όσες πληροφορίες μπορώ περισσότερες. Μία λύση που σκέφτηκα ήταν να κάνω copy-paste το ένα report κάτω από το άλλο, αλλά έτσι θα βγει το excel 1.000.000 rows (δεν ξέρω αν γίνεται κιόλας).

Πως μπορώ να κάνω merge τους ίδιους κωδικούς και να συμπληρώνονται τα πεδία που λείπουν?

Παράδειγμα...

Έστω οτι ο πίνακας μου είναι έτσι

image.png.c6ad1bcead7ed23378d55d9a674f6fdf.png

Υπάρχει τρόπος, με βάση τον κωδικό, αυτόματα να γίνει έτσι?

image.png.efa4abd97167c6a9790ce8507388630a.png

Ευχαριστώ.

Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

12 απαντήσεις σε αυτή την ερώτηση

Προτεινόμενες αναρτήσεις

  • 0

Αυτό που περιγράφεις με λόγια και αυτό ου δείχνεις στα screenshots δεν είναι ακριβώς το ίδιο. Στο screenshot κάνεις merge κωδικούς από το ίδιο report, ενώ στην περιγραφή σου λες ότι σε ενδιαφέρει να κάνεις merge κωδικούς από διαφορετικά reports ("να κάνω copy-paste το ένα report κάτω από το άλλο"). Τι ακριβώς θέλεις;

Επίσης τι θα κάνεις αν τα data δεν είναι καθαρά; Αν πχ έχεις τον κωδικό 2k3j πολλές φορές, την μία με τιμή Α και την άλλη με τιμή Β. Ποια τιμή κρατάς;

anyhow, αν ξέρεις λίγο προγραμματισμό δεν είναι δύσκολο να κάνεις ότι θες. Πχ με python και pandas θα είναι αρκετά απλό. 

Αν βάλεις τα data σε μια βάση δεδομένων πάλι θα είναι σχετικά απλό με JOINs

Με σκέτο excel θα γίνεται αλλά αν θες να κάνεις merge 20 reports θα ταλαιπωρηθείς λίγο νομίζω

 

Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

Python pandas is your friend for this.

Ισως γινεται και με Excel αλλα πρεπει να θεσεις ξεκαθαρα το ερωτημα, πχ τι θα γινει αν σε δυο φυλλα υπαρχουν στοιχεια στην ιδια κολωνα (για τον ιδιο κωδικο). Τι θα γινουν; Θα προστεθουν;  Και αν ειναι κειμενο; κλπ κλπ

Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

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

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

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

Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

Χθες το βράδυ διάβασα το ερώτημα σου. Σήμερα είχα λίγο χρόνο και σου έγραψα ενα κώδικα σε c# ο οποίος θα σου κάνει ως εξής. Μαζί με τον κώδικα είναι εδώ : https://we.tl/t-O8Rxv9VxGm

Το εκτελέσιμο θα το βρεις μεσα στον φάκελο "ExcelFInder\bin\Debug\ExcelFInder.exe"

image.png.5dbfe26c40679abb68e4901acd666b85.png

Πως λειτουργεί ;

image.png.e6eef2a3af82c1259161ced19fa38f27.png

 

 

  • Like 1
Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0
Δημοσ. (επεξεργασμένο)
Στις 4/11/2020 στις 10:27 ΠΜ, iphotographer είπε

Καλησπέρα. Από excel ξέρω τα πολυ πολύ βασικά, δεν το δουλεύω και πολύ βέβαια. Προέκυψε ένα θέμα όμως στην δουλειά που θέλω να κάνω κάτι που θα μου λύσει τα χέρια. 

Έχω κάποια reports ανά έτος από το 2000 - 2020 και το κάθε ένα έχει γύρω στα 50.000 rows. Όλα τα rows ξεκινάνε με ένα κωδικό είδους (όχι αύξων αριθμό). Απλά το κάθε report μπορεί να έχει από μία φορά το κάθε κωδικό αλλά με διαφορετικά πεδία συμπληρωμένα. Εγώ θέλω να έχω στο κάθε κωδικό όσες πληροφορίες μπορώ περισσότερες. Μία λύση που σκέφτηκα ήταν να κάνω copy-paste το ένα report κάτω από το άλλο, αλλά έτσι θα βγει το excel 1.000.000 rows (δεν ξέρω αν γίνεται κιόλας).

Πως μπορώ να κάνω merge τους ίδιους κωδικούς και να συμπληρώνονται τα πεδία που λείπουν?

Παράδειγμα...

Έστω οτι ο πίνακας μου είναι έτσι

image.png.c6ad1bcead7ed23378d55d9a674f6fdf.png

Υπάρχει τρόπος, με βάση τον κωδικό, αυτόματα να γίνει έτσι?

image.png.efa4abd97167c6a9790ce8507388630a.png

Ευχαριστώ.

  1. Κάνε ένα νέο sheet.
  2. Κάνε copy/paste εγγραφές από το πρώτο έτος.
  3. Στο τέλος των εγγραφών κάνε copy/paste εγγραφές από το επόμενο έτος. 
  4. Κάνε sort όλες τις εγγραφές βάσει του κωδικού. 
  5. Βρες τους κωδικούς που πιάνουν παραπάνω από μία σειρά κάνοντας scroll. 
  6. Συμπλήρωσε όπως θέλεις την πληροφορία από τις σειρές με τους ίδιους κωδικούς, σβήνοντας μετά τις σειρές που περισσεύουν 
  7. Πήγαινε στο βήμα 3 και επανάλαβε μέχρι να τελειώσουν τα έτη. 

 

 

Εάν δεν κάνεις το από πάνω, θα πρέπει να βρεις μία πολιτική σχετικά με το ποιο έτος έχει προτεραιότητα. Δηλαδή, εάν βρεις έναν κωδικό από το 2000 και τον ίδιο από το 2010, από ποιο έτος θα κρατήσεις πληροφορία; Θα ισχύσει το ίδιο για όλους τους κωδικούς; Θα ισχύσει το ίδιο για όλα τα πεδία (π.χ. κόστος, λιανική, κτλ) ;

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

Αλλιώς, θέλεις ένα script που θα κάνει merge όλη την πληροφορία και θα σου δείχνει τις σειρές που θέλουν merge για να το κάνεις εσύ. Τον χρόνο του merge δεν τον γλυτώνεις. 

Επεξ/σία από Sacadmerde
Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

ένας τρόπος να γίνει στο EXCEL είναι:

προσθέτεις 2 νέες στήλες row,row1

Στο D4 ---> =IF(C4="";"";ROW())   Στο F4-->=IF(E4="";"";ROW())  και τα κατεβάζεις με το ποντίκι για όλα τα κελιά

image.png.e6fa0cd96fc1a1fcce2df9a080bcb67f.png

κάνω κλικ στο J3 και από το μενού Data -->consolidate

image.png.a09a57bb14a919406ae5351991616508.png

από το reference(εικονίδιο) επιλέγω όλον τον πίνακα και επιλέγω Add.Τσεκάρω top row / left column , function-->max  και οκ

Στο Κ4-->=IF(L4="";"";INDIRECT(ADDRESS(L4;3)))   και  στο M4--->=IF(N4="";"";INDIRECT(ADDRESS(N4;5)))    και κατεβάζω κάτω τις τιμές για όλη την στήλη

Κανεις copy + paste special only values τις στήλες Κ και μετά Μ ώστε να φύγουν οι εντολές και να μείνουν οι τιμές.Σβήνεις τις στήλες  L,N consolidate.xlsxκαι έτοιμο

image.png.40aede87d216fd9d3dfc353a5e8e57f2.png

  • Like 1
Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

Ευχαριστώ πολύ παιδιά. Με το excel μπερδέυτηκα πολύ και το έκανα με mysql και php. 'Εκανα το excel->csv,  την έβαλα στην php σαν array και την ανέβασα στην βάση. Μετά με select, group by κλπ την χειρίζομαι όπως θέλω.  

Σας ευχαριστώ πάρα πολύ για το χρόνο σας. Θα δοκιμάσω όμως και τους παραπάνω τρόπους με το excel για εκπαιδευτικούς λόγους.

  • Like 1
Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0
Δημοσ. (επεξεργασμένο)

Γινετε πολυ ευκολα στο Excel αλλα πρωτα πρεπει να μου απαντησεις τι θα γινει στην περιπτωση που 2 Εγγραφες εχουν κοινα πεδια αλαλ με διαφορετικες τιμες

πχ.
εγγραφη 1  Code1234   προμυθευτης1  Κοστοσ=300
εγγραφη 2  Code1234   προμυθευτης1  Κοστοσ=500

Πιο απο τα 2 πεδια θα κανει Overwrite το δευτερο ή το πρώτο.?

 

Επεξ/σία από papmel
Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Εγγραφείτε για έναν νέο λογαριασμό

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...

Με την περιήγησή σας στο insomnia.gr, αποδέχεστε τη χρήση cookies που ενισχύουν σημαντικά την εμπειρία χρήσης.