Οι λεπτές αποχρώσεις της εργασίας με αλλαγές γραμμής στο Excel

Αλλαγές γραμμής στο ίδιο κελί, προστέθηκαν χρησιμοποιώντας μια συντόμευση πληκτρολογίου άλλος+εισάγετε είναι κάτι πολύ συνηθισμένο και συνηθισμένο. Μερικές φορές κατασκευάζονται από τους ίδιους τους χρήστες για να προσθέσουν ομορφιά στο μεγάλο κείμενο. Μερικές φορές τέτοιες μεταφορές προστίθενται αυτόματα κατά την εκφόρτωση δεδομένων από οποιοδήποτε πρόγραμμα εργασίας (γεια σας 1C, SAP, κ.λπ.) Το πρόβλημα είναι ότι τότε πρέπει όχι μόνο να θαυμάζετε τέτοιους πίνακες, αλλά και να εργαστείτε μαζί τους – και τότε αυτές οι μεταφορές αόρατων χαρακτήρων μπορεί να είναι πρόβλημα. Και μπορεί να μην γίνουν – αν ξέρετε πώς να τα χειριστείτε σωστά.

Ας ρίξουμε μια ματιά σε αυτό το θέμα με περισσότερες λεπτομέρειες.

Αφαίρεση σπασίματος γραμμής με αντικατάσταση

Αν πρέπει να απαλλαγούμε από τις παύλες, τότε το πρώτο πράγμα που συνήθως μας έρχεται στο μυαλό είναι η κλασική τεχνική «εύρεση και αντικατάσταση». Επιλέξτε το κείμενο και, στη συνέχεια, καλέστε το παράθυρο αντικατάστασης με μια συντόμευση πληκτρολογίου Ctrl+H ή μέσω Αρχική σελίδα – Εύρεση και επιλογή – Αντικατάσταση (Αρχική — Εύρεση&Επιλογή — Αντικατάσταση). Μία ασυνέπεια – δεν είναι πολύ σαφές πώς να μπείτε στο επάνω πεδίο Να βρω (Βρείτε τι) ο αόρατος χαρακτήρας διακοπής της γραμμής μας. άλλος+εισάγετε εδώ, δυστυχώς, δεν λειτουργεί πλέον, η αντιγραφή αυτού του συμβόλου απευθείας από το κελί και η επικόλλησή του εδώ επίσης αποτυγχάνει.

Ένας συνδυασμός θα βοηθήσει Ctrl+J – αυτή είναι η εναλλακτική άλλος+εισάγετε σε παράθυρα διαλόγου ή πεδία εισαγωγής του Excel:

Λάβετε υπόψη ότι αφού βάλετε τον κέρσορα που αναβοσβήνει στο επάνω πεδίο και πατήστε Ctrl+J – τίποτα δεν θα εμφανιστεί στο ίδιο το πεδίο. Μην φοβάστε - αυτό είναι φυσιολογικό, το σύμβολο είναι αόρατο 🙂

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

Απόχρωση: μετά την εκτέλεση της αντικατάστασης με Ctrl+J αόρατος χαρακτήρας παραμένει στο πεδίο Να βρω και μπορεί να παρέμβει στο μέλλον – μην ξεχάσετε να το διαγράψετε τοποθετώντας τον κέρσορα σε αυτό το πεδίο και πολλές φορές (για αξιοπιστία) πατώντας τα πλήκτρα Διαγραφή и Backspace.

Αφαίρεση σπασίματος γραμμής με τύπο

Εάν πρέπει να λύσετε το πρόβλημα με τύπους, τότε μπορείτε να χρησιμοποιήσετε την ενσωματωμένη συνάρτηση ΕΚΤΥΠΩΣΗ (ΚΑΘΑΡΗ), το οποίο μπορεί να καθαρίσει το κείμενο από όλους τους μη εκτυπώσιμους χαρακτήρες, συμπεριλαμβανομένων των δυσάρεστων αλλαγών γραμμής:

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

Αντικατάσταση σπασίματος γραμμής με τύπο

Και αν θέλετε όχι απλώς να διαγράψετε, αλλά να αντικαταστήσετε άλλος+εισάγετε σε, για παράδειγμα, ένα χώρο, τότε θα απαιτηθεί μια άλλη, ελαφρώς πιο περίπλοκη κατασκευή:

Για να ορίσουμε μια αόρατη παύλα χρησιμοποιούμε τη συνάρτηση ΣΥΜΒΟΛΟ (ΑΠΑΝΘΡΑΚΩΝΩ), το οποίο εξάγει έναν χαρακτήρα από τον κωδικό του (10). Και μετά η συνάρτηση ΥΠΟΚΑΤΑΣΤΑΤΟ (ΥΠΟΚΑΤΑΣΤΑΤΟ) αναζητά τις παύλες μας στα δεδομένα προέλευσης και τις αντικαθιστά με οποιοδήποτε άλλο κείμενο, για παράδειγμα, με ένα κενό.

Διαίρεση σε στήλες με αλλαγή γραμμής

Γνωστό σε πολλούς και πολύ εύχρηστο εργαλείο Κείμενο ανά στήλες από την καρτέλα ημερομηνία (Δεδομένα — Κείμενο σε στήλες) μπορεί επίσης να λειτουργήσει εξαιρετικά με αλλαγές γραμμής και να χωρίσει το κείμενο από ένα κελί σε πολλά, σπάζοντας το κατά άλλος+εισάγετε. Για να το κάνετε αυτό, στο δεύτερο βήμα του οδηγού, πρέπει να επιλέξετε μια παραλλαγή του χαρακτήρα προσαρμοσμένου οριοθέτη ΑΛΛΑ (Εθιμο) και χρησιμοποιήστε τη συντόμευση πληκτρολογίου που ήδη γνωρίζουμε Ctrl+J ως εναλλακτική άλλος+εισάγετε:

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

Μετά το κλικ Επόμενο (Επόμενο) και περνώντας και τα τρία βήματα του οδηγού, έχουμε το επιθυμητό αποτέλεσμα:

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

Χωρίστε σε γραμμές με Alt + Enter μέσω του Power Query

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

Χρειάζεται πολύς χρόνος για να γίνει αυτό χειροκίνητα, είναι δύσκολο με τύπους, δεν μπορούν όλοι να γράψουν μια μακροεντολή. Αλλά στην πράξη, αυτό το πρόβλημα εμφανίζεται πιο συχνά από όσο θα θέλαμε. Η απλούστερη και ευκολότερη λύση είναι να χρησιμοποιήσετε το πρόσθετο Power Query για αυτήν την εργασία, το οποίο είναι ενσωματωμένο στο Excel από το 2016 και για παλαιότερες εκδόσεις 2010-2013 μπορείτε να το κατεβάσετε εντελώς δωρεάν από τον ιστότοπο της Microsoft.

Για να φορτώσετε τα δεδομένα πηγής στο Power Query, πρέπει πρώτα να τα μετατρέψετε σε "έξυπνο τραπέζι" με συντόμευση πληκτρολογίου Ctrl+T ή με κουμπί Μορφοποίηση ως πίνακα αυτί Αρχική (Αρχική σελίδα — Μορφοποίηση ως πίνακα). Εάν για κάποιο λόγο δεν θέλετε ή δεν μπορείτε να χρησιμοποιήσετε "έξυπνα τραπέζια", τότε μπορείτε να εργαστείτε με "ανόητα". Σε αυτήν την περίπτωση, απλώς επιλέξτε την αρχική περιοχή και δώστε της ένα όνομα στην καρτέλα Formulas – Name Manager – Νέο (Τύποι — Διαχειριστής ονόματος — Νέος).

Μετά από αυτό, στην καρτέλα ημερομηνία (εάν έχετε Excel 2016 ή μεταγενέστερο) ή στην καρτέλα Ερώτημα ισχύος (εάν έχετε Excel 2010-2013) μπορείτε να κάνετε κλικ στο κουμπί Από τραπέζι/σειρά (Από πίνακα/Εύρος)για να φορτώσετε τον πίνακα μας στον επεξεργαστή Power Query:

Μετά τη φόρτωση, επιλέξτε τη στήλη με κείμενο πολλών γραμμών στα κελιά και επιλέξτε την εντολή στην καρτέλα Main Διαίρεση στήλης – Κατά οριοθέτη (Αρχική — Διαίρεση στήλης — Κατά οριοθέτη):

Πιθανότατα, το Power Query θα αναγνωρίσει αυτόματα την αρχή της διαίρεσης και θα αντικαταστήσει το ίδιο το σύμβολο #(lf) αόρατος χαρακτήρας τροφοδοσίας γραμμής (lf = τροφοδοσία γραμμής = τροφοδοσία γραμμής) στο πεδίο εισαγωγής διαχωριστή. Εάν είναι απαραίτητο, μπορείτε να επιλέξετε άλλους χαρακτήρες από την αναπτυσσόμενη λίστα στο κάτω μέρος του παραθύρου, εάν πρώτα επιλέξετε το πλαίσιο Διαχωρισμός με ειδικούς χαρακτήρες (Διαίρεση κατά ειδικούς χαρακτήρες).

Για να χωρίζονται όλα σε σειρές και όχι σε στήλες - μην ξεχάσετε να αλλάξετε τον επιλογέα Γραμμές (Κατά σειρές) στην ομάδα σύνθετων επιλογών.

Το μόνο που μένει είναι να κάνετε κλικ OK και πάρε αυτό που θέλεις:

Ο έτοιμος πίνακας μπορεί να ξεφορτωθεί ξανά στο φύλλο χρησιμοποιώντας την εντολή Κλείσιμο και φόρτωση – Κλείσιμο και φόρτωση σε… αυτί Αρχική (Αρχική — Κλείσιμο&Φόρτωση — Κλείσιμο&Φόρτωση σε…).

Είναι σημαντικό να σημειωθεί ότι όταν χρησιμοποιείτε το Power Query, πρέπει να θυμάστε ότι όταν αλλάζουν τα δεδομένα προέλευσης, τα αποτελέσματα δεν ενημερώνονται αυτόματα, επειδή. αυτά δεν είναι φόρμουλες. Για ενημέρωση, πρέπει να κάνετε δεξί κλικ στον τελικό πίνακα στο φύλλο και να επιλέξετε την εντολή Ενημέρωση & Αποθήκευση (Φρεσκάρω) ή πατήστε το κουμπί Ενημέρωση όλων αυτί ημερομηνία (Δεδομένα — Ανανέωση όλων).

Μακροεντολή για διαίρεση σε γραμμές με Alt+Enter

Για να συμπληρώσουμε την εικόνα, ας αναφέρουμε και τη λύση του προηγούμενου προβλήματος με τη βοήθεια μιας μακροεντολής. Ανοίξτε τον Επεξεργαστή Visual Basic χρησιμοποιώντας το ομώνυμο κουμπί στην καρτέλα Εργολάβος (Προγραμματιστής) ή συντομεύσεις πληκτρολογίου άλλος+F11. Στο παράθυρο που εμφανίζεται, εισαγάγετε μια νέα ενότητα μέσω του μενού Εισαγωγή – Ενότητα και αντιγράψτε τον παρακάτω κώδικα εκεί:

Sub Split_By_Rows() Dim κελί ως εύρος, n ως κελί ακέραιου συνόλου = ActiveCell For i = 1 To Selection.Rows.Count ar = Split(cell, Chr(10)) 'προσδιορίστε τον αριθμό των θραυσμάτων cell.Offset(1, 0 ).Resize(n, 1).EntireRow.Insert 'insert κενές σειρές κάτω από το κελί.Resize(n + 1, 1) = WorksheetFunction.Transpose(ar) 'εισάγετε σε αυτά δεδομένα από τον πίνακα Set cell = cell.Offset(n + 1, 0) 'μετακίνηση στο επόμενο κελί Next i End Sub  

Επιστρέψτε στο Excel και επιλέξτε τα κελιά με το κείμενο πολλών γραμμών που θέλετε να διαιρέσετε. Στη συνέχεια χρησιμοποιήστε το κουμπί Μακροεντολές αυτί προγραμματιστή (Προγραμματιστής — Μακροεντολές) ή συντόμευση πληκτρολογίου άλλος+F8για να εκτελέσετε τη μακροεντολή που δημιουργήσατε, η οποία θα κάνει όλη τη δουλειά για εσάς:

Voila! Οι προγραμματιστές είναι στην πραγματικότητα πολύ τεμπέληδες που προτιμούν να δουλέψουν σκληρά μια φορά και μετά να μην κάνουν τίποτα 🙂

  • Καθαρισμός κειμένου από ανεπιθύμητα και επιπλέον χαρακτήρες
  • Αντικατάσταση κειμένου και απομάκρυνση μη διαστημάτων με τη λειτουργία SUBSTITUTE
  • Πώς να χωρίσετε το αυτοκόλλητο κείμενο σε μέρη στο Excel

Αφήστε μια απάντηση