Note: The other languages of the website are Google-translated. Back to English

Πώς να στοιβάζετε γρήγορα πολλές στήλες σε μία στήλη στο Excel;

Στο Excel, η λειτουργία Κείμενο σε στήλες μπορεί να χωρίσει ένα κελί σε πολλές στήλες με βάση το οριοθέτη, αλλά αν υπάρχουν τρόποι για να στοιβάζονται πολλές στήλες σε μία στήλη, όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης; Σε αυτό το άρθρο, θα παρουσιάσω μερικά κόλπα για την γρήγορη επίλυση αυτής της εργασίας.
στήλες στοίβας εγγράφων σε μία 1

Στοίβα πολλές στήλες σε μία με τον τύπο

Στοίβα πολλές στήλες σε μία με VBA

Στοίβα πολλές στήλες σε μία με Transform Range καλή ιδέα3


Στοίβα πολλές στήλες σε μία με τον τύπο

1. Επιλέξτε το εύρος που θέλετε να στοιβάξετε και μεταβείτε στο όνομα Box για να δώσετε ένα όνομα σε αυτό το εύρος και πατήστε εισάγετε κλειδί. Δείτε το στιγμιότυπο οθόνης:
στήλες στοίβας εγγράφων σε μία 2

2. Στη συνέχεια, επιλέξτε ένα κενό κελί που θέλετε να τοποθετήσετε τα αποτελέσματα, εισαγάγετε αυτόν τον τύπο =INDEX(MyData,1+INT((ROW(A1)-1)/COLUMNS(MyData)),MOD(ROW(A1)-1+COLUMNS(MyData),COLUMNS(MyData))+1), πατήστε Enter πλήκτρο και σύρετε τη λαβή πλήρωσης προς τα κάτω μέχρι να εμφανιστεί ένα σφάλμα. Δείτε το στιγμιότυπο οθόνης:
στήλες στοίβας εγγράφων σε μία 3

Στον τύπο, το MyData είναι το όνομα εύρους που έχετε καθορίσει στο βήμα 1.

Στοίβα πολλές στήλες σε μία με VBA

Εδώ είναι ένας κωδικός VBA που μπορεί να σας βοηθήσει επίσης.

1. Τύπος Alt + F11 πλήκτρα για εμφάνιση Microsoft Visual Basic για εφαρμογές παράθυρο.

2. κλικ Κύριο θέμα > Μονάδα μέτρησης, επικολλήστε τον παρακάτω κώδικα στο Μονάδα μέτρησης.

VBA: Στοίβα στήλες σε μία

Sub ConvertRangeToColumn()
'UpdatebyExtendoffice
Dim Range1 As Range, Range2 As Range, Rng As Range
Dim rowIndex As Integer
xTitleId = "KutoolsforExcel"
Set Range1 = Application.Selection
Set Range1 = Application.InputBox("Source Ranges:", xTitleId, Range1.Address, Type:=8)
Set Range2 = Application.InputBox("Convert to (single cell):", xTitleId, Type:=8)
rowIndex = 0
Application.ScreenUpdating = False
For Each Rng In Range1.Rows
    Rng.Copy
    Range2.Offset(rowIndex, 0).PasteSpecial Paste:=xlPasteAll, Transpose:=True
    rowIndex = rowIndex + Rng.Columns.Count
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub

στήλες στοίβας εγγράφων σε μία 4

3. Τύπος F5 για να εκτελέσετε τον κώδικα, εμφανίζεται ένας διάλογος για να επιλέξετε τα δεδομένα προέλευσης και κάντε κλικ στο OK, για να επιλέξετε ένα κελί για να τοποθετήσετε τα αποτελέσματα. Δείτε το στιγμιότυπο οθόνης:
στήλες στοίβας εγγράφων σε μία 5

4. κλικ OK. Τώρα οι στήλες έχουν συσσωρευτεί σε μία στήλη.
στήλες στοίβας εγγράφων σε μία 6


Στοίβα πολλές στήλες σε μία με Transform Range

Να εφαρμόσει Kutools για Excel'S Μετασχηματισμός εύρους βοηθητικό πρόγραμμα είναι επίσης μπορεί να σας βοηθήσει να λύσετε γρήγορα αυτό το πρόβλημα.

Kutools για Excel, με περισσότερα από 300 εύχρηστες λειτουργίες, διευκολύνει τις εργασίες σας. 

Μετά το δωρεάν εγκατάσταση Kutools για Excel, κάντε τα παρακάτω:

1. Επιλέξτε τα δεδομένα στηλών που χρησιμοποιείτε και κάντε κλικ στο Kutools > Σειρά > Μετασχηματισμός εύρους. Δείτε το στιγμιότυπο οθόνης:
στήλες στοίβας εγγράφων σε μία 8

2. Στο Μετασχηματισμός εύρους διάλογος, ελέγξτε Εύρος έως μία στήλη επιλογή και πατήστε Okκαι, στη συνέχεια, επιλέξτε ένα κελί για να τοποθετήσετε αποτελέσματα. Δείτε το στιγμιότυπο οθόνης:
στήλες στοίβας εγγράφων σε μία 9

3. κλικ OK. Τώρα οι στήλες έχουν συσσωρευτεί σε μία μόνο στήλη.
στήλες στοίβας εγγράφων σε μία 1


Τα καλύτερα εργαλεία παραγωγικότητας του Office

Το Kutools για Excel λύνει τα περισσότερα από τα προβλήματά σας και αυξάνει την παραγωγικότητά σας κατά 80%

  • Επαναχρησιμοποίηση: Εισαγάγετε γρήγορα σύνθετοι τύποι, γραφήματα και οτιδήποτε έχετε χρησιμοποιήσει στο παρελθόν. Κρυπτογράφηση κυττάρων με κωδικό πρόσβασης Δημιουργία λίστας αλληλογραφίας και στείλτε email ...
  • Super Formula Bar (επεξεργαστείτε εύκολα πολλές γραμμές κειμένου και τύπου). Διάταξη ανάγνωσης (εύκολη ανάγνωση και επεξεργασία μεγάλου αριθμού κελιών). Επικόλληση σε φιλτραρισμένο εύρος...
  • Συγχώνευση κελιών / σειρών / στηλών χωρίς απώλεια δεδομένων · Περιεχόμενο διαχωρισμού κελιών Συνδυάστε διπλές σειρές / στήλες... Αποτροπή διπλών κυττάρων; Συγκρίνετε τα εύρη...
  • Επιλέξτε Διπλότυπο ή Μοναδικό Σειρές; Επιλέξτε Κενές σειρές (όλα τα κελιά είναι κενά). Σούπερ εύρεση και ασαφής εύρεση σε πολλά βιβλία εργασίας. Τυχαία επιλογή ...
  • Ακριβές αντίγραφο Πολλαπλά κελιά χωρίς αλλαγή της αναφοράς τύπου. Αυτόματη δημιουργία αναφορών σε πολλαπλά φύλλα? Εισαγωγή κουκκίδων, Πλαίσια ελέγχου και άλλα ...
  • Εξαγωγή κειμένου, Προσθήκη κειμένου, Κατάργηση κατά θέση, Αφαιρέστε το διάστημα; Δημιουργία και εκτύπωση υποσύνολων σελιδοποίησης. Μετατροπή περιεχομένου και σχολίων μεταξύ κελιών...
  • Σούπερ φίλτρο (αποθηκεύστε και εφαρμόστε σχήματα φίλτρων σε άλλα φύλλα). Προηγμένη ταξινόμηση ανά μήνα / εβδομάδα / ημέρα, συχνότητα και άλλα. Ειδικό φίλτρο με έντονη, πλάγια ...
  • Συνδυάστε βιβλία εργασίας και φύλλα εργασίας; Συγχώνευση πινάκων βάσει βασικών στηλών. Διαχωρίστε τα δεδομένα σε πολλά φύλλα; Μαζική μετατροπή xls, xlsx και PDF...
  • Περισσότερα από 300 ισχυρά χαρακτηριστικά. Υποστηρίζει Office / Excel 2007-2021 και 365. Υποστηρίζει όλες τις γλώσσες. Εύκολη ανάπτυξη στην επιχείρηση ή τον οργανισμό σας. Πλήρεις δυνατότητες δωρεάν δοκιμής 30 ημερών. Εγγύηση επιστροφής χρημάτων 60 ημερών.
kte καρτέλα 201905

Το Office Tab φέρνει τη διεπαφή με καρτέλες στο Office και κάνει την εργασία σας πολύ πιο εύκολη

  • Ενεργοποίηση επεξεργασίας και ανάγνωσης καρτελών σε Word, Excel, PowerPoint, Publisher, Access, Visio και Project.
  • Ανοίξτε και δημιουργήστε πολλά έγγραφα σε νέες καρτέλες του ίδιου παραθύρου και όχι σε νέα παράθυρα.
  • Αυξάνει την παραγωγικότητά σας κατά 50% και μειώνει εκατοντάδες κλικ του ποντικιού για εσάς κάθε μέρα!
κάτω μέρος γραφείου
Σχόλια (25)
Δεν υπάρχουν ακόμη βαθμολογίες. Γίνε ο πρώτος που θα αξιολογήσετε!
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Στοιβάζετε πολλές σειρές σε μία στήλη, όχι πολλές στήλες... όχι αυτό που έψαχνα.
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Για στοίβαξη στηλών AP που βρίσκονται σε μπλοκ των 6 σειρών, τοποθετήστε αυτούς τους τύπους στο κελί R1 και συμπληρώστε

=OFFSET($A$1,MOD(ROW()-ROW($R$1),ROWS($A$1:$A$6)),TRUNC((ROW()-ROW($R$1))/ROWS($A$1:$A$6)),1,1)
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Αυτό λειτουργεί τέλεια, ευχαριστώ
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Σας ευχαριστούμε για τη δημοσίευση αυτής της λύσης! Σε περίπτωση που κάποιος χρειάζεται ένα κενό μετά/στο τέλος κάθε μπλοκ, απλώς προσθέστε ένα επιπλέον πλήθος στις σειρές, οπότε ακολουθώντας το παραπάνω παράδειγμα, αντί για $A$6, γράψτε $A$7. Εισάγει ένα μηδέν «0» στη σειρά, αλλά μπορείτε εύκολα να «Χρησιμοποιήσετε την επιλογή για Εύρεση» στο Sublime για να τα επεξεργαστείτε. Εάν γνωρίζετε τη λύση που δεν προσθέτει ένα μηδέν, δημοσιεύστε!;
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
για να εξάγετε ένα κενό κελί αντί για 0, κάντε μια συνάρτηση IF>0, TRUE-->έξοδος του αρχικού περιεχομένου κελιού, FALSE-->έξοδος ""

=if(OFFSET($A$1,MOD(ROW()-ROW($R$1),ROWS($A$1:$A$6)),TRUNC((ROW()-ROW($R$1))/ROWS($A$1:$A$6)),1,1)>0,OFFSET($A$1,MOD(ROW()-ROW($R$1),ROWS($A$1:$A$6)),TRUNC((ROW()-ROW($R$1))/ROWS($A$1:$A$6)),1,1),"")
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Dang, τώρα δεν λειτουργεί! Δοκιμάστηκε σε μια νέα καρτέλα, αλλά τώρα έχει επιστρέψει στη στοίβαξη των περιεχομένων στηλών σε μία αντί για το αρχικό περιεχόμενο σειρών.
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Ακυρώστε το τελευταίο, χάσατε το βήμα περικοπής.
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γνωρίζω ότι απαντήσατε σε αυτήν την ερώτηση πριν από πολύ καιρό, αλλά μπορείτε να εξηγήσετε τι ακριβώς κάνει κάθε μέρος αυτής της συνάρτησης;
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Ίσως αυτό το σεμινάριο μπορεί να σας βοηθήσει.https://www.extendoffice.com/documents/excel/3327-excel-convert-multiple-rows-to-columns.html
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Αυτό είναι απλώς ένα δόλωμα για να κατεβάσετε ένα λογισμικό πληρωμής
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Η πρώτη λήψη θα είναι δωρεάν για χρήση σε 60 ημέρες, μετά από αυτό, μπορείτε να αποφασίσετε να πληρώσετε για χρήση ή όχι.
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια σας, υπάρχει κάποια για μετατροπή των παραπάνω δεδομένων στην παρακάτω φόρμα;
1
A
Lilly
2
B
Judy
...
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Σας ευχαριστούμε για το μήνυμα που αφήσατε, αυτό το σεμινάριο https://www.extendoffice.com/documents/excel/5401-excel-stack-columns-into-one-column.html
μιλάει για το πώς να λύσετε αυτό το πρόβλημα, μπορείτε να πάτε για να δείτε.
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Έχω δεδομένα που τελειώνουν στην ίδια σειρά αλλά πολλές στήλες στις οποίες θέλω να στοιβάζονται σε μια σειρά όπου τα δεδομένα στήλης Β θα πηγαίνουν κάτω από δεδομένα στήλης όπου τα δεδομένα τελειώνουν για μια στήλη και τα δεδομένα στήλης Γ για να πηγαίνουν κάτω από δεδομένα στήλης όπου τελειώνουν τα δεδομένα από τη στήλη Β και ούτω καθεξής. Με αυτόν τον τρόπο θα έχω δεδομένα από πολλές στήλες για να χωρέσουν σε μία στήλη. Πως μπορώ να το κάνω αυτό?
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια, υπάρχει τρόπος να κάνετε τον τύπο να αγνοήσει τυχόν κενά κελιά που μπορεί να περιέχουν τα δεδομένα σας;


=INDEX(MyData,1+INT((ROW(A1)-1)/COLUMNS(MyData)),MOD(ROW(A1)-1+COLUMNS(MyData),COLUMNS(MyData))+1),


Χρησιμοποιώ ένα βοηθητικό φύλλο για να δημιουργήσω μια συνεχόμενη λίστα για μια αναπτυσσόμενη λίστα επικύρωσης δεδομένων. Ευχαριστώ εκ των προτέρων.
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Λυπούμαστε, δεν είμαι καλός στον τύπο, ίσως μπορείτε να δοκιμάσετε να χρησιμοποιήσετε το βοηθητικό πρόγραμμα Kutools για Excel του Excel για να επιλέξετε πρώτα τα κενά κελιά και να τα αντιγράψετε και να τα επικολλήσετε σε άλλη θέση και στη συνέχεια να χρησιμοποιήσετε τις παραπάνω μεθόδους.
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια, θέλω να πάω ένα βήμα παραπέρα με αυτό. Έχω χρησιμοποιήσει Stack Multiple Columns Into One With VBA, κώδικα και αυτό λειτουργεί. Έχω χρησιμοποιήσει τους Πίνακες ως πηγή με αυτόν τον κωδικό και λαμβάνω τη λίστα. Υπάρχει τρόπος να αυτοματοποιηθεί η εκτέλεση της Μακροεντολής; Έτσι, όταν προσθέτω μια νέα καταχώρηση στον πίνακα, η μακροεντολή εκτελείται αυτόματα και διατηρεί ενημερωμένη τη λίστα που προκύπτει;
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια, Chris Blackburn, συγγνώμη που φοβάμαι ότι δεν μπορώ να βρω ότι ένας κωδικός μπορεί να εκτελεστεί αυτόματα για να ενημερώσει το αποτέλεσμα, ίσως κάποιος άλλος μπορεί.
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Προσπαθώ να το κάνω αυτό σε έναν πολύ μεγάλο πίνακα (100 στήλες και σειρές που είναι όλες συνδεδεμένες με τύπους. Το excel μου θα συνεχίσει να φορτώνει και στη συνέχεια θα πάει στο να μην ανταποκρίνεται. Υπάρχει τρόπος να το ξεπεράσω αυτό; Ευχαριστώ
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια, Tom, ποια μέθοδος που εφαρμόζεις δεν λειτουργεί; Η μέθοδος τρία, το εργαλείο μετασχηματισμού εύρους πρέπει να μπορεί να λειτουργήσει.
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Χρησιμοποιώ τη μέθοδο Stack Multiple Columns Into One With Formula και λειτούργησε τέλεια, αλλά θέλω να διατηρήσει τη μορφοποίηση, δηλαδή ορισμένες στήλες ήταν έντονες και η 1 ήταν υπερσύνδεσμοι. Υπάρχει κάτι που μπορεί να προστεθεί στη φόρμουλα για να συμβεί αυτό;
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια σου, Susan Milard, η φόρμουλα τους μπορεί να καλύψει τις ανάγκες σου, μπορείς να χρησιμοποιήσεις το VBA ή το εργαλείο Transpose Range, και τα δύο μπορούν να σε ικανοποιήσουν.
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Ευχαριστώ, πολύ, η επιλογή φόρμουλας λειτούργησε πολύ καλά.. εξοικονομήσατε πολύ χρόνο.
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Ευχαριστώ για τον τύπο και το VBA, αλλά κανένας δεν κάνει αυτό που λέει ο τίτλος της ανάρτησης. Περίμενα να στοιβάζουν τις στήλες, αλλά αντ' αυτού μεταφέρουν κάθε σειρά σε μια στήλη και στοιβάζουν αυτές... άρα στοιβάζονται μετατιθέμενες σειρές, όχι στήλες. Εξακολουθεί να είναι πολύ χρήσιμο για ορισμένες περιπτώσεις, αλλά ξέρει κανείς πώς να τροποποιήσει τον τύπο ή/και το VBA ώστε να στοιβάζονται πραγματικά οι στήλες; Υποθέτω ότι θα μπορούσα να μεταφέρω ολόκληρο το εύρος εισόδου και στη συνέχεια να χρησιμοποιήσω αυτά...
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Για όσους θέλουν να στοιβάξουν στήλες σε μία αλλά όχι σειρές σε μία, πρέπει να έχετε μια σαφή εικόνα του τι θέλετε πραγματικά να κάνετε. Ας υποθέσουμε ότι έχετε κάποιο πίνακα 3x3, θέλετε η συνάρτηση index() να λαμβάνει καταχωρήσεις με τη μορφή (σειρά, στήλη) για (1,1), (2,1), (3,1), μετά (1,2), (2,2), (3,2) και ούτω καθεξής. Λοιπόν, αυτό που θέλετε να κάνετε είναι να έχετε το index() να αναφέρεται σε μια στήλη που περιέχει όλους τους αριθμούς σειρών (1;2;3;1;2;3;1;2;3) και σε μια στήλη που περιέχει όλους τους αριθμούς στηλών (1;1 ;1;2;2;2;3;3;3).Για να αποκτήσετε (1;2;3;1;2;3;1;2;3), μια κοινή προσέγγιση προγραμματισμού είναι να χρησιμοποιήσετε 1+mod(some_counter -1,3) όπου η συνάρτηση mod() δίνει τα υπόλοιπα 0,1,2,0,1,2,...
Για να πάρει (1;1;1;2;2;2;3;3;3), κάποιος χρησιμοποιεί 1+int((some_counter-1)/3) όπου δίνει 1+0, 1+0, 1+0 , 1+1, 1+1, 1+1, 1+2, 1+2, 1+2
Επομένως, για να στοιβάζετε έναν πίνακα 3x3 σε έναν, χρησιμοποιείτε τον τύπο (πατήστε Ctrl +Shft + Enter):=index( $A$1:$C$3, 1+mod(row(A1)-1,3), 1 +int((row(A1)-1)/3)))όπου η σειρά(A1) χρησιμεύει ως μετρητής καθώς συμπληρώνετε τον τύπο σας προς τα κάτω
Εάν το βάλετε αντίστροφα (σειρά σε στήλες, στήλες σε σειρά), θα λάβετε σειρές στοιβαγμένες σε μία στήλη=INDEX( $A$1:$C$3, 1+INT((ROW(A1)-1)/ 3),1+MOD(ROW(A1)-1,3)) που ουσιαστικά κάνει ο τύπος σε αυτό το άρθρο

Με λίγα λόγια, ο τύπος που χρησιμοποιείται για τη στοίβαξη στηλών σε έναν πίνακα σε μία στήλη θα ήταν:=index( your_array_cells , 1+mod(row(A1)-1, number_of_rows_of_your_array ), 1+int((row(A1)-1 )/ αριθμός_των_στήλων_του_πίνακα_σας)))
Δεν υπάρχουν σχόλια δημοσιεύτηκε ακόμα
Αφήστε τα σχόλιά σας
Δημοσίευση ως επισκέπτης
×
Αξιολογήστε αυτήν την ανάρτηση:
0   Χαρακτήρες
Προτεινόμενες τοποθεσίες

Ακολουθησε μας

Πνευματικά δικαιώματα © 2009 - www.extendoffice.com. | Ολα τα δικαιώματα διατηρούνται. Τροφοδοτείται από ExtendOffice. | Sitemap
Το Microsoft και το λογότυπο του Office είναι εμπορικά σήματα ή σήματα κατατεθέντα της Microsoft Corporation στις Ηνωμένες Πολιτείες ή / και σε άλλες χώρες.
Προστατεύεται από το Sectigo SSL