Πώς να βρείτε τυχόν ειδικούς χαρακτήρες σε μια συμβολοσειρά στο Excel

Πίνακας περιεχομένων:

Anonim

Γνωρίζουμε ότι οι λειτουργίες TRIM και CLEAN Excel χρησιμοποιούνται για τον καθαρισμό μη εκτυπώσιμων χαρακτήρων και επιπλέον χώρων από συμβολοσειρές, αλλά δεν βοηθούν πολύ στον εντοπισμό συμβολοσειρών που περιέχουν ιδιαίτερο χαρακτήρα όπως @ ή! κλπ. Σε τέτοιες περιπτώσεις χρησιμοποιούμε UDF.

Έτσι, εάν θέλετε να μάθετε εάν μια συμβολοσειρά περιέχει ειδικούς χαρακτήρες, δεν θα βρείτε τύπο ή συνάρτηση Excel για να το κάνετε. Μπορούμε να βρούμε τους ειδικούς χαρακτήρες που υπάρχουν στο πληκτρολόγιο πληκτρολογώντας με μη αυτόματο τρόπο, αλλά δεν μπορείτε να γνωρίζετε εάν υπάρχουν σύμβολα στη συμβολοσειρά ή όχι.

Η εύρεση τυχόν ειδικών χαρακτήρων μπορεί να είναι πολύ σημαντική για σκοπούς καθαρισμού δεδομένων. Και σε ορισμένες περιπτώσεις, πρέπει να γίνει. Λοιπόν, πώς το κάνουμε αυτό στο Excel; Πώς μπορούμε να γνωρίζουμε εάν μια συμβολοσειρά περιέχει ειδικούς χαρακτήρες; Λοιπόν, μπορούμε να χρησιμοποιήσουμε το UDF για να το κάνουμε αυτό.

Ο παρακάτω τύπος θα επιστρέψει TRUE εάν κάποιο κελί περιέχει χαρακτήρες διαφορετικούς από 1 έως 0 και Α έως Ζ (και στις δύο περιπτώσεις). Αν δεν βρει ειδικούς χαρακτήρες θα επιστρέψει ΛΑΘΟΣ.

Γενικός τύπος

= ContainsSpecialCharacters (συμβολοσειρά)

Σειρά: Η συμβολοσειρά που θέλετε να ελέγξετε για ειδικούς χαρακτήρες.

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

Ανοίξτε λοιπόν το Excel. Πατήστε ALT+F11 για να ανοίξετε το VBE. Εισαγάγετε μια ενότητα από το μενού Εισαγωγή. Αντιγράψτε τον παρακάτω κώδικα και επικολλήστε τον στη μονάδα.

Η λειτουργία περιέχει: Ειδικούς χαρακτήρες (str ως συμβολοσειρά) Ως Boolean Για I = 1 Προς Len (str) ch = Mid (str, I, 1) Επιλέξτε Περίπτωση ch Περίπτωση "0" έως "9", "A" To "Z", "a "To" z "," "ContainsSpecialCharacters = False Case Else ContainsSpecialCharacters = True Exit For End Select Next End Function

Τώρα η λειτουργία είναι έτοιμη για χρήση.
Μεταβείτε στο φύλλο εργασίας στο βιβλίο εργασίας που περιέχει τις συμβολοσειρές που θέλετε να ελέγξετε.

Γράψτε τον παρακάτω τύπο στο κελί C2:

= ContainsSpecialCharacters (B13)

Επιστρέφει TRUE για την πρώτη συμβολοσειρά αφού περιέχει έναν ειδικό χαρακτήρα. Όταν αντιγράφετε τον τύπο προς τα κάτω, εμφανίζεται FALSE για συμβολοσειρά B14 και ούτω καθεξής.

Αλλά περιέργως δείχνει ΑΛΗΘΙΝΟ για την τελευταία συμβολοσειρά "Exceltip.com". Είναι επειδή περιέχει μια τελεία (.). Γιατί όμως έτσι; Ας εξετάσουμε τον κώδικα για να καταλάβουμε.

Πώς λειτουργεί η λειτουργία;

Επαναλαμβάνουμε όλους τους χαρακτήρες της συμβολοσειράς χρησιμοποιώντας τη λειτουργία βρόχου For και mid του VBA. Η συνάρτηση Mid εξάγει έναν χαρακτήρα κάθε φορά από τη συμβολοσειρά και τον αποθηκεύει σε μεταβλητή ch.

Για I = 1 Προς Len (str) ch = Mid (str, I, 1) 

Τώρα έρχεται το κύριο μέρος. Χρησιμοποιούμε τη δήλωση επιλογής περίπτωσης για να ελέγξουμε τι περιέχει η μεταβλητή ch.

Λέμε στη VBA να ελέγξει εάν το ch περιέχει κάποια από τις καθορισμένες τιμές. Έχω ορίσει το 0 έως το 9, το Α έως το Ω, το Α έως το Ω και "" (διάστημα). Αν γ
h περιέχει οποιοδήποτε από αυτά, θέτουμε την τιμή του σε False.

Επιλέξτε Περίπτωση ch Περίπτωση "0" έως "9", "A" έως "Z", "a" To "z", "" ContainsSpecialCharacters = False 

Μπορείτε να δείτε ότι δεν έχουμε τελεία (.) Στη λίστα και αυτός είναι ο λόγος που παίρνουμε TRUE για τη συμβολοσειρά που περιέχει τελεία. Μπορείτε να προσθέσετε οποιονδήποτε χαρακτήρα στη λίστα για να εξαιρεθείτε από τον τύπο.

Εάν το ch περιέχει οποιονδήποτε χαρακτήρα εκτός από τους χαρακτήρες που αναφέρονται, ορίζουμε το αποτέλεσμα της συνάρτησης σε True και τελειώνουμε τον βρόχο ακριβώς εκεί.

Case Else ContainsSpecialCharacters = True Exit For 

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

Πώς να καθαρίσετε ειδικούς χαρακτήρες από συμβολοσειρές στο Excel;

Για να καθαρίσω ειδικούς χαρακτήρες από μια συμβολοσειρά στο Excel, έχω δημιουργήσει μια άλλη προσαρμοσμένη συνάρτηση στο VBA. Η σύνταξη της συνάρτησης είναι:

= CleanSpecialCharacters (συμβολοσειρά)

Αυτή η συνάρτηση επιστρέφει μια καθαρισμένη έκδοση της συμβολοσειράς που έχει περάσει σε αυτήν. Η νέα συμβολοσειρά δεν θα περιέχει κανέναν από τους ειδικούς χαρακτήρες.

Ο κώδικας αυτής της συνάρτησης έχει ως εξής:

Λειτουργία CleanSpecialCharacters (str As String) Dim nstr As String nstr = str Για I = 1 Προς Len (str) ch = Mid (str, I, 1) Select Case ch Περίπτωση "0" To "9", "A" To " Z "," a "Προς" z "," "'Μην κάνετε τίποτα Περίπτωση αλλού nstr = Αντικατάσταση (nstr, ch," ") Τέλος Επιλέξτε Επόμενο CleanSpecialCharacters = nstr Τερματική λειτουργία 

Αντιγράψτε αυτό στην ίδια ενότητα που αντιγράψατε στον παραπάνω κώδικα.

Όταν χρησιμοποιείτε αυτόν τον τύπο στις συμβολοσειρές, τα αποτελέσματα θα είναι τα εξής:

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

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

Λειτουργεί το ίδιο με την παραπάνω συνάρτηση. Η μόνη διαφορά είναι ότι αυτή η συνάρτηση αντικαθιστά κάθε ειδικό χαρακτήρα με μηδενικό χαρακτήρα. Δημιουργεί μια νέα συμβολοσειρά και επιστρέφει αυτήν τη συμβολοσειρά.

Επιλέξτε Περίπτωση ch Περίπτωση "0" Σε "9", "A" Σε "Z", "a" Σε "z", "" 'ContainsSpecialCharacters = Λάθος Περίπτωση Αλλού nstr = Αντικατάσταση (nstr, ch, "") Τέλος επιλογής 

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

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

Πώς να χρησιμοποιήσετε τη συνάρτηση TRIM στο Excel: Η συνάρτηση TRIM χρησιμοποιείται για την περικοπή συμβολοσειρών και τον καθαρισμό τυχόν κενών ή κεντρικών χώρων από συμβολοσειρά. Αυτό μας βοηθάει πολύ στη διαδικασία καθαρισμού των δεδομένων.

Πώς να χρησιμοποιήσετε τη συνάρτηση CLEAN στο Excel: Η λειτουργία Clean χρησιμοποιείται για τον καθαρισμό μη εκτυπώσιμων χαρακτήρων από τη συμβολοσειρά. Αυτή η λειτουργία χρησιμοποιείται κυρίως με τη λειτουργία TRIM για τον καθαρισμό εισαγόμενων ξένων δεδομένων.

Αντικατάσταση κειμένου από το τέλος μιας συμβολοσειράς ξεκινώντας από τη μεταβλητή θέση: Για να αντικαταστήσουμε το κείμενο από το τέλος της συμβολοσειράς, χρησιμοποιούμε τη συνάρτηση REPLACE. Η συνάρτηση REPLACE χρησιμοποιεί τη θέση του κειμένου στη συμβολοσειρά για να το αντικαταστήσει.

Πώς να ελέγξετε εάν μια συμβολοσειρά περιέχει ένα από τα πολλά κείμενα στο Excel: Για να βρούμε έλεγχο εάν μια συμβολοσειρά περιέχει οποιοδήποτε από πολλά κείμενα, χρησιμοποιούμε αυτόν τον τύπο. Χρησιμοποιούμε τη συνάρτηση SUM για να συνοψίσουμε όλες τις αντιστοιχίσεις και στη συνέχεια να εκτελέσουμε μια λογική για να ελέγξουμε εάν η συμβολοσειρά περιέχει κάποια από τις πολλαπλές συμβολοσειρές.

Μετρήστε κελιά που περιέχουν συγκεκριμένο κείμενο: Μια απλή συνάρτηση COUNTIF θα κάνει το μαγικό. Για να μετρήσουμε τον αριθμό πολλών κελιών που περιέχουν μια δεδομένη συμβολοσειρά χρησιμοποιούμε τον τελεστή μπαλαντέρ με τη συνάρτηση COUNTIF.

Συνάρτηση Excel REPLACE vs SUBSTITUTE: Οι συναρτήσεις ΑΝΤΙΚΑΤΑΣΤΑΣΗ και ΑΝΤΙΚΑΤΑΣΤΑΣΗ είναι οι πιο παρεξηγημένες συναρτήσεις. Για να βρούμε και να αντικαταστήσουμε ένα δεδομένο κείμενο χρησιμοποιούμε τη συνάρτηση SUBSTITUTE. Όπου το REPLACE χρησιμοποιείται για την αντικατάσταση ενός αριθμού χαρακτήρων σε συμβολοσειρά…

Δημοφιλή άρθρα:

50 συντομεύσεις Excel για να αυξήσετε την παραγωγικότητά σας | Γίνετε πιο γρήγοροι στην εργασία σας. Αυτές οι 50 συντομεύσεις θα σας κάνουν να εργάζεστε ακόμη πιο γρήγορα στο Excel.

Πώς να χρησιμοποιήσετε τη συνάρτηση Excel VLOOKUP| Αυτή είναι μια από τις πιο δημοφιλείς και δημοφιλείς λειτουργίες του excel που χρησιμοποιείται για την αναζήτηση τιμών από διαφορετικά εύρη και φύλλα.

Πώς να χρησιμοποιήσετε το Excel Λειτουργία COUNTIF| Μετρήστε τιμές με συνθήκες χρησιμοποιώντας αυτήν την εκπληκτική συνάρτηση. Δεν χρειάζεται να φιλτράρετε τα δεδομένα σας για να μετρήσετε συγκεκριμένες τιμές. Η λειτουργία Countif είναι απαραίτητη για την προετοιμασία του ταμπλό σας.

Πώς να χρησιμοποιήσετε τη συνάρτηση SUMIF στο Excel | Αυτή είναι μια άλλη βασική λειτουργία του ταμπλό. Αυτό σας βοηθά να συνοψίσετε τιμές υπό συγκεκριμένες συνθήκες.