Διαχωρίστε τις συμβολοσειρές κειμένου με διαχωρισμό σε πολλαπλές σειρές - 3 γρήγορα κόλπα
Κανονικά, μπορείτε να χρησιμοποιήσετε τη δυνατότητα "Κείμενο σε στήλη" για να χωρίσετε τα περιεχόμενα των κελιών σε πολλές στήλες με έναν συγκεκριμένο οριοθέτη, όπως κόμμα, τελεία, ερωτηματικό, κάθετο κ.λπ. και επαναλάβετε τα δεδομένα από άλλες στήλες όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης. Έχετε κάποιους καλούς τρόπους για να αντιμετωπίσετε αυτήν την εργασία στο Excel; Αυτό το σεμινάριο θα εισαγάγει μερικές αποτελεσματικές μεθόδους για την ολοκλήρωση αυτής της εργασίας στο Excel.
Σε αυτήν την ενότητα, θα εισαγάγω δύο κωδικούς VBA για να βοηθήσω στο διαχωρισμό των περιεχομένων των κελιών που διαχωρίζονται από έναν συγκεκριμένο οριοθέτη.
Για να χωρίσετε τις συμβολοσειρές κειμένου που χωρίζονται με κάποιο κανονικό οριοθέτη, όπως κόμμα, κενό, ερωτηματικό, κάθετο κ.λπ., ο παρακάτω κώδικας μπορεί να σας κάνει τη χάρη. Παρακαλούμε ακολουθήστε τα παρακάτω βήματα:
Note: Αυτός ο κωδικός δεν υποστήριξη Αναίρεση, καλύτερα να δημιουργήσετε αντίγραφα ασφαλείας των δεδομένων πριν εφαρμόσετε αυτόν τον κώδικα.
Βήμα 1: Ανοίξτε το πρόγραμμα επεξεργασίας μονάδας VBA και αντιγράψτε τον κώδικα
1. Ενεργοποιήστε το φύλλο που θέλετε να χρησιμοποιήσετε. Και μετά, πατήστε Alt + F11 για να ανοίξετε το Microsoft Visual Basic για εφαρμογές παράθυρο.
2. Στο παράθυρο που ανοίγει, κάντε κλικ Κύριο θέμα > Μονάδα μέτρησης για να δημιουργήσετε μια νέα κενή ενότητα.
3. Στη συνέχεια, αντιγράψτε και επικολλήστε τον παρακάτω κώδικα στην κενή μονάδα.
Κωδικός VBA: Διαίρεση κειμένου με συγκεκριμένο οριοθέτη (κόμμα, τελεία, κενό κ.λπ.)
Sub SplitTextIntoRows()
'UpdatebyExtendoffice
Dim xSRg, xIptRg, xCrRg, xRg As Range
Dim xSplitChar As String
Dim xArr As Variant
Dim xFNum, xFFNum, xRow, xColumn, xNum As Integer
Dim xWSh As Worksheet
Set xSRg = Application.InputBox("Select a range:", "Kutools for Excel", , , , , , 8)
If xSRg Is Nothing Then Exit Sub
xSplitChar = Application.InputBox("Type delimiter:", "Kutools for Excel", , , , , , 2)
If xSplitChar = "" Then Exit Sub
Application.ScreenUpdating = False
xRow = xSRg.Row
xColumn = xSRg.Column
Set xWSh = xSRg.Worksheet
For xFNum = xSRg.Rows.Count To 1 Step -1
Set xRg = xWSh.Cells.Item(xRow + xFNum - 1, xColumn)
xArr = Split(xRg, xSplitChar)
xIndex = UBound(xArr)
For xFFNum = LBound(xArr) To UBound(xArr)
xRg.EntireRow.Copy
xRg.Offset(1, 0).EntireRow.Insert Shift:=xlShiftDown
xRg.Worksheet.Cells(xRow + xFNum, xColumn) = xArr(xIndex)
xIndex = xIndex - 1
Next
xRg.EntireRow.Delete
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
Βήμα 2: Εκτελέστε τον κώδικα για να λάβετε το αποτέλεσμα
1. Αφού επικολλήσετε τον κωδικό, πατήστε F5 κλειδί για την εκτέλεση αυτού του κώδικα. Στη συνέχεια, θα εμφανιστεί ένα παράθυρο προτροπής για να σας υπενθυμίσει ότι επιλέγετε τα κελιά που περιέχουν το οριοθετημένο κείμενο που θέλετε να χωρίσετε, δείτε στιγμιότυπο οθόνης:
2. Στη συνέχεια, κάντε κλικ στο OK, εμφανίζεται ένα άλλο παράθυρο προτροπής για να σας υπενθυμίσει να πληκτρολογείτε το διαχωριστικό στο οποίο θέλετε να χωρίσετε τα δεδομένα. Εδώ, πληκτρολογώ ένα κόμμα και ένα κενό (, ), βλέπε στιγμιότυπο οθόνης:
3. Επιτέλους, κάντε κλικ στο OK κουμπί. Τώρα, θα δείτε ότι οι επιλεγμένες συμβολοσειρές κειμένου χωρίζονται σε σειρές με βάση το κόμμα και άλλα σχετικά δεδομένα στηλών επαναλαμβάνονται όπως φαίνονται παρακάτω στιγμιότυπα οθόνης:
Εάν τα περιεχόμενα του κελιού σας διαχωρίζονται με αλλαγές γραμμής, για να τα χωρίσετε σε πολλές σειρές, ακολουθεί ένας άλλος κώδικας VBA που μπορεί να σας βοηθήσει.
Note: Αυτός ο κωδικός δεν υποστήριξη Αναίρεση καλύτερα να δημιουργήσετε αντίγραφα ασφαλείας των δεδομένων πριν εφαρμόσετε αυτόν τον κωδικό.
Βήμα 1: Ανοίξτε το πρόγραμμα επεξεργασίας μονάδας VBA και αντιγράψτε τον κώδικα
1. Τύπος Alt + F11 για να ανοίξετε το Microsoft Visual Basic για εφαρμογές παράθυρο.
2. Στο παράθυρο που ανοίγει, κάντε κλικ Κύριο θέμα > Μονάδα μέτρησης για να δημιουργήσετε μια νέα κενή ενότητα.
3. Στη συνέχεια, αντιγράψτε και επικολλήστε τον παρακάτω κώδικα στην κενή μονάδα.
Κώδικας VBA: Διαίρεση κειμένου με αλλαγή γραμμής
Sub SplitTextIntoRows()
'UpdatebyExtendoffice
Dim xSRg, xIptRg, xCrRg, xRg As Range
Dim xSplitChar As String
Dim xArr As Variant
Dim xFNum, xFFNum, xRow, xColumn, xNum As Integer
Dim xWSh As Worksheet
Set xSRg = Application.InputBox("Select a range:", "Kutools for Excel", , , , , , 8)
If xSRg Is Nothing Then Exit Sub
xSplitChar = Chr(10)
Application.ScreenUpdating = False
xRow = xSRg.Row
xColumn = xSRg.Column
Set xWSh = xSRg.Worksheet
For xFNum = xSRg.Rows.Count To 1 Step -1
Set xRg = xWSh.Cells.Item(xRow + xFNum - 1, xColumn)
xArr = Split(xRg, xSplitChar)
xIndex = UBound(xArr)
For xFFNum = LBound(xArr) To UBound(xArr)
xRg.EntireRow.Copy
xRg.Offset(1, 0).EntireRow.Insert Shift:=xlShiftDown
xRg.Worksheet.Cells(xRow + xFNum, xColumn) = xArr(xIndex)
xIndex = xIndex - 1
Next
xRg.EntireRow.Delete
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
Βήμα 2: Εκτελέστε τον κώδικα για να λάβετε το αποτέλεσμα
1. Αφού επικολλήσετε τον κωδικό, πατήστε F5 κλειδί για την εκτέλεση αυτού του κώδικα. Στο αναδυόμενο πλαίσιο, επιλέξτε τα κελιά που θέλετε να χωρίσετε, δείτε στιγμιότυπο οθόνης:
2. Στη συνέχεια, κάντε κλικ στο OK κουμπί, τα δεδομένα στα επιλεγμένα κελιά χωρίζονται σε σειρές όπως φαίνεται παρακάτω στιγμιότυπο οθόνης:
Εάν έχετε εγκαταστήσει Kutools for Excel, Με τους Διαχωρισμός δεδομένων σε γραμμές χαρακτηριστικό, μπορείτε να χωρίσετε τις συμβολοσειρές κειμένου σε πολλές σειρές με οποιονδήποτε οριοθέτη έχετε καθορίσει. Κάντε τα παρακάτω βήματα:
Βήμα 1: Επιλέξτε τη δυνατότητα Διαίρεση δεδομένων σε γραμμές
Πατήστε Kutools > Συγχώνευση & διαχωρισμός > Διαχωρισμός δεδομένων σε γραμμές, δείτε το στιγμιότυπο οθόνης:
Βήμα 2: Καθορίστε τα κελιά δεδομένων και τον οριοθέτη για διαχωρισμό
Στο αναδυόμενο παράθυρο διαλόγου, χρησιμοποιήστε τις ακόλουθες επιλογές:
Τώρα, τα επιλεγμένα κελιά με οριοθετημένες συμβολοσειρές κειμένου έχουν μετατραπεί σε πολλές σειρές με βάση το συγκεκριμένο διαχωριστικό, δείτε στιγμιότυπο οθόνης:
Συμβουλές: Εάν θέλετε να επαναφέρετε τα αρχικά δεδομένα, πρέπει απλώς να πατήσετε Ctrl + Z για αναίρεση.
Εύχρηστος? Ενδιαφέρεστε για αυτό το χαρακτηριστικό, παρακαλώ κάντε κλικ για λήψη για να λάβετε μια δωρεάν δοκιμή για 30 ημέρες.
Εάν χρησιμοποιείτε το Office 365 ή το Excel 2016 και νεότερες εκδόσεις, Ερώτημα ισχύος είναι ένα ισχυρό εργαλείο που μπορεί να σας βοηθήσει να χωρίσετε οριοθετημένο κείμενο σε πολλές σειρές ή στήλες. Είναι χρήσιμο εάν θέλετε τα διαχωρισμένα δεδομένα να ανανεώνονται όταν αλλάζουν τα αρχικά σας δεδομένα. Ακολουθήστε τα παρακάτω βήματα για να το ολοκληρώσετε:
Βήμα 1: Αποκτήστε τον πίνακα δεδομένων στο Power Query
1. Επιλέξτε το εύρος δεδομένων που θέλετε να χρησιμοποιήσετε και, στη συνέχεια, κάντε κλικ ημερομηνία > Από τον πίνακα, δείτε το στιγμιότυπο οθόνης:
Συμβουλές: Στο Excel 2019 και στο Office 365, κάντε κλικ ημερομηνία > Από Πίνακας/Εύρος.
2. Στο αναδυόμενο Δημιουργία πίνακα , κάντε κλικ στην επιλογή OK κουμπί για να δημιουργήσετε έναν πίνακα, δείτε στιγμιότυπο οθόνης:
3. Τώρα το Ερώτημα ισχύος συντάκτης εμφανίζεται το παράθυρο με τα δεδομένα, δείτε στιγμιότυπο οθόνης:
Βήμα 2: Κάντε τους μετασχηματισμούς στο Power Query
1. Επιλέξτε τη στήλη που θέλετε να χωρίσετε. Και μετά, κάντε κλικ Αρχική > Διαίρεση στήλης > Με Οριοθέτη, δείτε το στιγμιότυπο οθόνης:
2. Στο Διαίρεση στήλης κατά οριοθέτη κουτί διαλόγου:
Για να χωρίσετε τις συμβολοσειρές κειμένου με κόμμα, κενό, ερωτηματικό κ.λπ. κάντε ως εξής:
Για να χωρίσετε τις συμβολοσειρές κειμένου σε πολλές σειρές με αλλαγή συνδέσμου, κάντε το εξής:
3. Τώρα, τα επιλεγμένα δεδομένα χωρίστηκαν σε πολλαπλές σειρές όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης:
Βήμα 3: Εξαγωγή του Power Query σε έναν πίνακα του Excel
1. Στη συνέχεια, θα πρέπει να εξάγετε τα δεδομένα στο φύλλο εργασίας σας. Παρακαλώ πατήστε Αρχική > Κλείσιμο & φόρτωση > Κλείσιμο & φόρτωση / Κλείσιμο & φόρτωση σε, (εδώ, θα κάνω κλικ Κλείσιμο & φόρτωση), δείτε το στιγμιότυπο οθόνης:
Συμβουλές: Κάντε κλικ Κλείσιμο & φόρτωση θα εξάγει τα δεδομένα σε ένα νέο φύλλο εργασίας. Κάντε κλικ Κλείσιμο & φόρτωση σε επιλογή, τα δεδομένα θα εξάγονται σε οποιοδήποτε άλλο φύλλο χρειάζεστε.
2. Τέλος, τα δεδομένα θα φορτωθούν σε ένα νέο φύλλο εργασίας, δείτε στιγμιότυπο οθόνης:
Συμβουλές: Εάν χρειάζεται να ενημερώνετε συχνά τα δεδομένα σας στον αρχικό πίνακα, μην ανησυχείτε, απλά πρέπει να κάνετε δεξί κλικ στον πίνακα αποτελεσμάτων και να κάνετε κλικ Φρεσκάρω για να βγει δυναμικά το νέο αποτέλεσμα.