Ανανέωση ιστοσελίδας
ms-office.gr > Forum > Microsoft Excel > Excel - Ερωτήσεις / Απαντήσεις > [Συναρτήσεις] Σύνθετη μετατροπή από γραμμές σε στήλες

Excel - Ερωτήσεις / Απαντήσεις Ότι έχει σχέση με συναρτήσεις, μορφοποίηση, εκτυπώσεις γραφήματα κτλ.

Απάντηση στο θέμα

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 22-03-14, 22:04
Όνομα: Νάσια
Έκδοση λογισμικού Office: Ms-Office 2003
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 20-02-2014
Μηνύματα: 13
Προεπιλογή Σύνθετη μετατροπή από γραμμές σε στήλες

Καλησπέρα σε όλους!!!

Ψάχνοντας στο φόρουμ δεν βρήκα κάτι παρόμοιο με το πρόβλημά που έχω, οπότε και σας το αναφέρω.
Έχω ένα αρχείο Excel με 2 στήλες. Στην 1η στήλη έχω τον κωδικό πελάτη και στην 2η στήλη κάποιους κωδικούς εξετάσεων (χωρίζονται με κενό) οι οποίοι κωδικοί αντιστοιχούν στον συγκεκριμένο πελάτη της κάθε γραμμής. Θα μπορούσα με κάποια συνάρτηση ή οτιδήποτε άλλο οι κωδικοί των εξετάσεων να εμφανίζονται ένας-ένας ανά γραμμή και δίπλα ο αντίστοιχος πελάτης;
Σας επισυνάπτω και ένα αρχείο-παράδειγμα πως είναι τώρα και πως θα ήθελα να το μετατρέψω ώστε να γίνω και πιο κατανοητή.

Ευχαριστώ πολύ!

Νάσια
Συνημμένα Αρχεία
Τύπος Αρχείου: zip Book.zip (4,1 KB, 26 εμφανίσεις)
Απάντηση με παράθεση
  #2  
Παλιά 25-03-14, 10:19
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.011
Προεπιλογή

Καλημέρα!

Νάσια, δες ένα παράδειγμα με χρήση VBA στο συνημμένο.

Καλή συνέχεια!

Τάσος
Συνημμένα Αρχεία
Τύπος Αρχείου: xls xlTranspose.xls (35,0 KB, 64 εμφανίσεις)
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών
Απάντηση με παράθεση
  #3  
Παλιά 26-03-14, 00:49
Όνομα: Νάσια
Έκδοση λογισμικού Office: Ms-Office 2003
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 20-02-2014
Μηνύματα: 13
Προεπιλογή

Καλησπέρα Τάσο!

Το δούλεψα με το αρχείο μου, το οποίο είναι πολύ μεγάλο και δούλεψε μία χαρά!!!!
Σ' ευχαριστώ παααααάρα πολύ!!!!

Νάσια
Απάντηση με παράθεση
  #4  
Παλιά 27-03-14, 20:30
Όνομα: Χρήστος
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 07-09-2011
Μηνύματα: 477
Red face

Φίλοι του φόρουμ Καλησπέρα.
Φίλε Τάσο γεια σου
Επειδή θα ήθελα να το χρησιμοποιήσω και εγώ
αλλά με διαφορετικό τρόπο
μπορεί να γίνει να ξεχωρίζει τις τιμές με κόμμα;;
δηλ εγώ θέλω στην 1η στήλη να υπάρχει ένας αριθμός π.χ 120/12-11-2014
και στην 2η στήλη ονόματα π.χ Παπαγάλος Χρήστος, Αετός Παναγιώτης
και να γίνεται
120/12-11-2014 Παπαγάλος Χρήστος
120/12-11-2014 Αετός Παναγιώτης
Απάντηση με παράθεση
  #5  
Παλιά 27-03-14, 20:50
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.011
Προεπιλογή

Καλησπέρα!

Χρήστο, αν κατάλαβα καλά,αυτό που ζητάς είναι η συνένωση 2 κελιών σε ένα δηλαδή : =A2 & " " & B2

Με τα κόματα δεν το πολυκατάλαβα.


Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών
Απάντηση με παράθεση
  #6  
Παλιά 28-03-14, 00:39
Το avatar του χρήστη Spirosgr
Συντονιστής
Όνομα: Σπύρος Τσιλιγιάννης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2010, Ms-Office 2013, Ms-Office 2016, Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 22-11-2011
Περιοχή: Αθήνα
Μηνύματα: 2.321
Προεπιλογή

Καλημέρα
Συγνώμη για την παρέμβαση αλλά μου κάνει εντύπωση Χρίστο
(και πολλοί άλλοι φίλοι που τα χρησιμοποιούν) πως ένα τέτοιο κελί
"120/12-11-2014 Παπαγάλος Χρήστος"
θα μπορούσε να χρησιμοποιηθεί για να πάρω πληροφορίες πχ όνομα, ημερομηνία κλπ
με φίλτρο ή τύπο
Γιατί πρέπει να κάνω την ζωή μου δύσκολη...
Υπάρχουν χιλιάδες στήλες και γραμμές διαθέσιμες
Γιατί τα στριμωχτούν όλα αυτά σε ένα κελί με κόμματα, κάθετες κλπ ;
Απλά αναρωτιέμαι...
Απάντηση με παράθεση
  #7  
Παλιά 28-03-14, 11:45
Όνομα: Χρήστος
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 07-09-2011
Μηνύματα: 477
Red face

Φίλοι του φόρουμ Καλημέρα
Ίσως δεν σας έδωσα να καταλάβετε σωστά τι θέλω και συγνώμη γι' αυτό.
Αυτό που θέλω είναι στην στήλη Α2 να γράφω ένα αριθμός π.χ 120/12-11-2014
και στην στήλη Β2 να γράφω ονόματα π.χ Παπαγάλος Χρήστος, Αετός Παναγιώτης κλπ
και μετά όπως είναι το πρόγραμμα πατώντας το κουμπί Διάσπαση-Αντιμετάθεση να γίνεται
Στις στήλες D......120/12-11-2014
120/12-11-2014
και στις στήλες E..... Παπαγάλος Χρήστος
Αετός Παναγιώτης
δηλ. όπως είναι το πρόγραμμα απλά η διάσπαση-αντιμετάθεση να γίνεται όπου υπάρχει (,) στην στήλη Β2
και αυτό το θέλω για αλφαβητικό ευρετήριο δηλ. σε κάθε όνομα να υπάρχει ο διπλανός αριθμός.
Πιστεύω τώρα να έγινα κατανοητός.
Σας ευχαριστώ για τον χρόνο σας.
Απάντηση με παράθεση
  #8  
Παλιά 28-03-14, 12:26
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.011
Προεπιλογή

Καλημέρα!

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

Λύση: Υπό την προϋπόθεση ότι τα ονόματα είναι χωρισμένα με κόμμα (Παπαγάλος Χρήστος, Αετός Παναγιώτης)

Άλλαξε στον κώδικα τη γραμμή: ArrExams = Split(WorksheetFunction.Trim(c.Offset(, 1).Value))
με τη γραμμή: ArrExams = Split(WorksheetFunction.Trim(c.Offset(, 1).Value), ",")

Συμπληρωματικά:

Όλος ο κώδικας με δυνατότητα αφαίρεσης κενών στην αρχή και στο τέλος του ονόματος:

Κώδικας:
Sub TranansposeRecordDetails()
    Dim rng As Range, c As Range, ArrExams As Variant, i As Integer, LastRow As Long
    Set rng = Range(Cells(3, 1), Cells(Rows.Count, 1).End(xlUp))
    For Each c In rng
        If Trim(c.Offset(, 1).Value) = vbNullString Then
            c.Offset(LastRow, 3).Value = "'" & c.Value
        Else
            ArrExams = Split(WorksheetFunction.Trim(c.Offset(, 1).Value), ",")
            For i = 0 To UBound(ArrExams)
                c.Offset(LastRow + i, 3).Value = "'" & Trim(c.Value)
                c.Offset(LastRow + i, 4).Value = "'" & Trim(ArrExams(i))
            Next
            LastRow = LastRow + i - 1
        End If
    Next
End Sub


Φιλικά

Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών

Τελευταία επεξεργασία από το χρήστη Tasos : 29-03-14 στις 10:11.
Απάντηση με παράθεση
  #9  
Παλιά 29-03-14, 22:51
Όνομα: Χρήστος
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 07-09-2011
Μηνύματα: 477
Red face

Φίλοι του φόρουμ Καλησπέρα σας.
Φίλε Τάσο για μία ακόμα φορά σε ευχαριστώ
είναι αυτό που ήθελα.
Όπως προανέφερα το θέλω έτσι γιατί έτσι
είναι τα υπάρχοντα αλφαβητικά βιβλία
Σε ευχαριστώ για πολλοστή φορά
Νάσε καλά να μας βοηθάς και εσύ και οι άλλοι φίλοι.
Απάντηση με παράθεση
Απάντηση στο θέμα


Δικαιώματα - Επιλογές
Δε μπορείτε να δημοσιεύσετε νέα μηνύματα
Δε μπορείτε να δημοσιεύσετε απαντήσεις
Δεν μπορείτε να επισυνάψετε αρχεία
Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας

Ο κώδικας ΒΒ είναι σε λειτουργία
Τα Smilies είναι σε λειτουργία
Ο κώδικας [IMG] είναι σε λειτουργία
Ο κώδικας HTML είναι εκτός λειτουργίας
Trackbacks are εκτός λειτουργίας
Pingbacks are εκτός λειτουργίας
Refbacks are εκτός λειτουργίας


Παρόμοια Θέματα

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[Μορφοποίηση] Περιορισμός πρόσβασης σε στήλες και γραμμές Skakinen Excel - Ερωτήσεις / Απαντήσεις 4 09-01-14 20:50
[Γενικά] Περιορισμός φύλλου σε λιγότερες γραμμές ή στήλες ataktos Excel - Ερωτήσεις / Απαντήσεις 2 17-01-13 08:02
[ Φόρμες ] Σύνθετη αναζήτηση εγγραφών marpapa Access - Ερωτήσεις / Απαντήσεις 6 19-07-12 23:50


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