Μετάβαση στο κύριο περιεχόμενο

Βρείτε την ντη εμφάνιση ενός χαρακτήρα στο Excel – 3 γρήγοροι τρόποι

Συγγραφέας: Xiaoyang Τελευταία τροποποίηση: 2024-04-24

Η εύρεση της nης εμφάνισης ενός συγκεκριμένου χαρακτήρα σε μια συμβολοσειρά κειμένου στο Excel μπορεί να είναι ιδιαίτερα χρήσιμη στην ανάλυση δεδομένων, όπου μπορεί να χρειαστεί να αναλύσετε συμβολοσειρές ή να εξαγάγετε πληροφορίες με βάση ορισμένους οριοθέτες ή μοτίβα. Για παράδειγμα, ας βρούμε τη 2η ή την 3η εμφάνιση του χαρακτήρα "-" σε μια συμβολοσειρά κειμένου. Θα δείξω απλές τεχνικές για την αποτελεσματική ολοκλήρωση αυτής της εργασίας.


Βρείτε την ντη εμφάνιση ενός χαρακτήρα σε συμβολοσειρά κειμένου με τύπο

Μπορείτε να δημιουργήσετε έναν τύπο για να βρείτε την ντη εμφάνιση ενός χαρακτήρα. Παρακαλώ κάντε ως εξής:

1. Εισαγάγετε ή αντιγράψτε τον ακόλουθο τύπο σε ένα κελί όπου θέλετε να λάβετε το αποτέλεσμα:

=FIND(CHAR(1),SUBSTITUTE(A2,"-",CHAR(1),2))
Note: Στον παραπάνω τύπο:
  • A2: Το κελί που περιέχει τη συμβολοσειρά.
  • -: Ο χαρακτήρας που ψάχνεις.
  • 2: Η 2η εμφάνιση που θέλετε να βρείτε, μπορείτε να την αλλάξετε σε 3,4…όπως θέλετε.

2. Στη συνέχεια, σύρετε τον τύπο συμπλήρωσης προς τα κάτω για να γεμίσετε τον τύπο σε άλλα κελιά και η 2η θέση του χαρακτήρα – εμφανίζεται αμέσως, δείτε στιγμιότυπο οθόνης:

Επεξήγηση του τύπου:
  • ΥΠΟΚΑΤΑΣΤΑΤΟ αντικαθιστά την ένατη εμφάνιση του χαρακτήρα με έναν μη εκτυπώσιμο χαρακτήρα (CHAR(1)).
  • ΒΡΕΙΤΕ αναζητά αυτόν τον μη εκτυπώσιμο χαρακτήρα, δίνοντας τη θέση της νης εμφάνισης.

Βρείτε την ντη εμφάνιση ενός χαρακτήρα στη συμβολοσειρά κειμένου με το Kutools για Excel

Εάν δεν είστε λάτρης της χρήσης φόρμουλας ή VBA, μπορείτε να σκεφτείτε μια βολική εναλλακτική λύση – Kutools για Excel. Μέσα στις ομάδες Formula του, θα βρείτε ένα χρήσιμο βοηθητικό πρόγραμμα – Βρείτε πού εμφανίζεται ο χαρακτήρας Nth σε μια συμβολοσειρά που προσδιορίζει γρήγορα και επιστρέφει την ντη θέση οποιουδήποτε χαρακτήρα σε ένα κελί.

Μετά την εγκατάσταση του Kutools για Excel, Κλίκ Kutools > Βοηθός τύπου > Βοηθός τύπου για να ανοίξετε το Βοηθός τύπου κουτί διαλόγου. Κάντε κλικ σε ένα κελί όπου θέλετε να τοποθετήσετε το αποτέλεσμα. Στη συνέχεια, κάντε τα εξής:

  1. Αγορά Lookup από την αναπτυσσόμενη λίστα του Τύπος τύπου Ενότητα;
  2. Επιλέξτε Βρείτε πού εμφανίζεται ο χαρακτήρας Nth σε μια συμβολοσειρά in Επιλέξτε έναν τύπο Ενότητα;
  3. Επιλέξτε το κελί που περιέχει τη συμβολοσειρά που χρησιμοποιείτε και, στη συνέχεια, πληκτρολογήστε τον καθορισμένο χαρακτήρα και την nη εμφάνιση στα πλαίσια κειμένου στο Εισαγωγή επιχειρημάτων Ενότητα;
  4. Επιτέλους, κάντε κλικ στο κουμπί OK για να πάρετε το αποτέλεσμα.
Συμβουλές: Σας ενδιαφέρει αυτό το χαρακτηριστικό, παρακαλώ κάντε κλικ για λήψη για να λάβετε μια δωρεάν δοκιμή για 30 ημέρες.

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

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

  1. Κρατήστε πατημένο το ALT + F11 και ανοίγει το Microsoft Visual Basic για εφαρμογές παράθυρο.
  2. Πατήστε Κύριο θέμα > Μονάδα μέτρησηςκαι επικολλήστε την ακόλουθη μακροεντολή στο παράθυρο της ενότητας.
     Function FindN(sFindWhat As String, _
    sInputString As String, N As Integer) As Integer
    'Updateby Extendoffice
    Dim J As Integer
    Application.Volatile
    FindN = 0
    For J = 1 To N
    FindN = InStr(FindN + 1, sInputString, sFindWhat)
    If FindN = 0 Then Exit For
    Next
    End Function
  3. Στη συνέχεια, κλείστε το παράθυρο vba. Επιστρέψτε στο φύλλο εργασίας, εισαγάγετε τον ακόλουθο τύπο σε ένα κελί και, στη συνέχεια, σύρετε τη λαβή πλήρωσης προς τα κάτω για να γεμίσετε τον τύπο σε άλλα κελιά, δείτε στιγμιότυπο οθόνης:
    =FindN("-",A2,3)

  4. Σχετικά Άρθρα:

    • Μετρήστε τον αριθμό των εμφανίσεων μιας λέξης σε μια στήλη
    • Εάν έχετε δεδομένα στήλης που περιλαμβάνουν μερικές διπλές τιμές όπως φαίνεται παρακάτω, και αυτό που θέλετε να κάνετε είναι να μετρήσετε τον αριθμό των εμφανίσεων μιας συγκεκριμένης λέξης σε αυτήν τη στήλη. Τώρα με αυτό το σεμινάριο, εισάγω μερικά κόλπα για να το λύσω γρήγορα στο Excel.
    • Εξαγάγετε έναν νιοστό χαρακτήρα από μια συμβολοσειρά
    • Γενικά, μπορεί να θέλετε να εξαγάγετε συμβολοσειρά μετά από έναν συγκεκριμένο χαρακτήρα, αλλά σε αυτήν την περίπτωση, θέλω να εξαγάγω τον ένατο χαρακτήρα από μια συμβολοσειρά όπως φαίνεται παρακάτω στιγμιότυπο οθόνης.
    • Εξαγωγή πρώτου/τελευταίου n χαρακτήρων από τη συμβολοσειρά
    • Για παράδειγμα, υπάρχει μια λίστα με μεγάλες συμβολοσειρές σε κάθε κελί και θέλετε να εξαγάγετε τους πρώτους χαρακτήρες n από κάθε συμβολοσειρά μόνο, όπως οι 3 πρώτοι χαρακτήρες κάθε συμβολοσειράς και τώρα μπορείτε να χρησιμοποιήσετε τις ακόλουθες μεθόδους για να το λύσετε στο Excel .

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

🤖 Kutools AI Aide: Επανάσταση στην ανάλυση δεδομένων με βάση: Ευφυής Εκτέλεση   |  Δημιουργία κώδικα  |  Δημιουργία προσαρμοσμένων τύπων  |  Αναλύστε δεδομένα και δημιουργήστε γραφήματα  |  Επίκληση Λειτουργιών Kutools...
Δημοφιλή χαρακτηριστικά: Εύρεση, επισήμανση ή αναγνώριση διπλότυπων   |  Διαγραφή κενών γραμμών   |  Συνδυάστε στήλες ή κελιά χωρίς απώλεια δεδομένων   |   Γύρος χωρίς φόρμουλα ...
Σούπερ Αναζήτηση: VLookup πολλαπλών κριτηρίων    VLookup πολλαπλών τιμών  |   VLookup σε πολλά φύλλα   |   Ασαφής αναζήτηση ....
Σύνθετη αναπτυσσόμενη λίστα: Γρήγορη δημιουργία αναπτυσσόμενης λίστας   |  Εξαρτημένη αναπτυσσόμενη λίστα   |  Πολλαπλή αναπτυσσόμενη λίστα ....
Διαχειριστής στήλης: Προσθέστε έναν συγκεκριμένο αριθμό στηλών  |  Μετακίνηση στηλών  |  Εναλλαγή κατάστασης ορατότητας κρυφών στηλών  |  Συγκρίνετε εύρη και στήλες ...
Επιλεγμένα Χαρακτηριστικά: Εστίαση πλέγματος   |  Προβολή σχεδίου   |   Μεγάλη Formula Bar    Διαχείριση βιβλίου εργασίας & φύλλου   |  Βιβλιοθήκη πόρων (Αυτόματο κείμενο)   |  Επιλογή ημερομηνίας   |  Συνδυάστε φύλλα εργασίας   |  Κρυπτογράφηση/Αποκρυπτογράφηση κελιών    Αποστολή email ανά λίστα   |  Σούπερ φίλτρο   |   Ειδικό φίλτρο (φίλτρο με έντονη γραφή/πλάγια γραφή/διαγραφή...) ...
Κορυφαία 15 σύνολα εργαλείων12 Κείμενο Εργαλεία (Προσθήκη κειμένου, Κατάργηση χαρακτήρων, ...)   |   50 + Διάγραμμα Τύποι (Gantt διάγραμμα, ...)   |   40+ Πρακτικό ΜΑΘΗΜΑΤΙΚΟΙ τυποι (Υπολογίστε την ηλικία με βάση τα γενέθλια, ...)   |   19 Εισαγωγή Εργαλεία (Εισαγωγή κωδικού QR, Εισαγωγή εικόνας από το μονοπάτι, ...)   |   12 Μετατροπή Εργαλεία (Αριθμοί σε λέξεις, Μετατροπή Συναλλάγματος, ...)   |   7 Συγχώνευση & διαχωρισμός Εργαλεία (Σύνθετες σειρές συνδυασμού, Διαίρεση κελιών, ...)   |   ... κι αλλα

Αυξήστε τις δεξιότητές σας στο Excel με τα Kutools για Excel και απολαύστε την αποτελεσματικότητα όπως ποτέ πριν. Το Kutools για Excel προσφέρει πάνω από 300 προηγμένες δυνατότητες για την ενίσχυση της παραγωγικότητας και την εξοικονόμηση χρόνου.  Κάντε κλικ εδώ για να αποκτήσετε τη δυνατότητα που χρειάζεστε περισσότερο...

Περιγραφή


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

  • Ενεργοποίηση επεξεργασίας και ανάγνωσης καρτελών σε Word, Excel, PowerPoint, Publisher, Access, Visio και Project.
  • Ανοίξτε και δημιουργήστε πολλά έγγραφα σε νέες καρτέλες του ίδιου παραθύρου και όχι σε νέα παράθυρα.
  • Αυξάνει την παραγωγικότητά σας κατά 50% και μειώνει εκατοντάδες κλικ του ποντικιού για εσάς κάθε μέρα!
Comments (28)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Your formula to find the Nth occurrence of a character in a string does not work. Using your example, adding 2 to the results of the imbedded find ensures a starting position for the initial find of a position beyond the 1st two c's but changing the +2 to +3 does not yield the position of the 4th "c", it simply starts the search one character deeper into the string and the result is still the 3rd "c". To find the 4th "c" the search must begin beyond the position of the 3rd "c". I look forward to your new solution.
This comment was minimized by the moderator on the site
Hello, David

Yes, as you said, the first formula does not work correctly, you can apply the second formula:
=FIND(CHAR(1),SUBSTITUTE(A2,"c",CHAR(1),2))

Note: The number "2" in the formula means the second "c", if you want to get the third, fourth "c", just change the number 2 to 3,4 as you need.
Please try, hope it can help you!
This comment was minimized by the moderator on the site
Find formula1 is imperfect. It will be a great help if it is removed. I have lost lot of time trying for 4th occurance of "a" in "vedanarayanan" Thanks.
This comment was minimized by the moderator on the site
To handle the exception of the formula, you can use same with if and iserro
=IF(ISERR(FIND("c",A1,FIND("c",A1)+2)),FIND("c",A1,FIND("c",A1)+0),FIND("c",A1,FIND("c",A1)+2))
This comment was minimized by the moderator on the site
"Substitute" lets you find the Nth occurrence of a term, so combine it with "find" as follows (where 5=5th occurrence):

=FIND(CHAR(1),SUBSTITUTE(A1,"c",CHAR(1),5))
This comment was minimized by the moderator on the site
Excellent! I am glad I scrolled up to review other comments after posting my own.
This comment was minimized by the moderator on the site
This is the correct answer! please replace this whole article with this one line of code.....
This comment was minimized by the moderator on the site
The first formula is completely useless and wrong but it works just correct for this example as the first and second "c"s are adjacent. The correct formula is:


For 2nd occurence -
=FIND("c",A1,FIND("c",A1)+1)

For 3rd occurence -
=FIND("c",A1,FIND("c",A1,FIND("c",A1)+1)+1) and so on...
This comment was minimized by the moderator on the site
Absolutely agree. The +2, or +3 etc.....entirely depends on the spacing between the n and (n+1) occurences of "c". Thus you would have to manually adjust for every cell if you were trying to copy this formula down a column for instance. Essentially the same as manually counting.


Ex. Let's try to find the 4th occurrence of "c" in cell A1 using the provided formula. Per the article we should use +3 in our nested FIND function to find the 4th occurrence.


Text in Cell A1:

"cab car abc cole cube"

Manually counting, the 4th occurrence is the "c" in cole in the character position of 13.


=FIND("c",A1,FIND("c",A1)+3)

The nested function, FIND("c",A1) will find the first occurrence of "c" in position 1.

Therefore,

FIND("c",A1)+3 = 1+3 = 4

Plugging that back into our formula,

=FIND("c",A1,FIND("c",A1)+3) = FIND("c",A1,1+3) = FIND("c",A1,4)

This new formula will look for the first occurrence of "c" beginning from character position 4. The 4th character in the string is the space just after cab.

Therefore, the formula will find the "c" in car and return the value of 5 for our formula. As we know from manually counting we are looking for 13 as the output.
This comment was minimized by the moderator on the site
The firs formula works correct in my version, in the note, it has explained how to find the third or forth or nth "c".

Note: You can change the 2 in the formula based on your needs. For example, if you want to find the fourth position of "c", you can change the 2 to 3. And if you want to find the first position of "c", you shuold change 2 to 0.
This comment was minimized by the moderator on the site
Try to find out the position of the second c with the first sentence of my above comment as the string using the first formula. You'll get to know how correct it is!
This comment was minimized by the moderator on the site
Hello all,

I have a text in an Excel cell " BY TRANSFER-NEFT*HDFC0000001*N08745987123546*J0032331*KUMAR--"

I need a function to extract just "N08745987123546"

Thanks
This comment was minimized by the moderator on the site
Hello, do you want to extract the numbers after No and the number of numbers are fixed? If so, you can use Kutools for Exccel's Extract text function, type No????to extract.
This comment was minimized by the moderator on the site
HI ALL,
I have a text in an Excel cell " BY TRANSFER-NEFT*HDHC0065431*N053112345624801*K0038331*krishna--"
I need a function to extract just "N053112345624801"
This comment was minimized by the moderator on the site
Formula 1 doesn't work on fourth, fifth, sixth etc. so (+3,4,5) will always show third position of letter "c" which is 19 second formula is working though.
This comment was minimized by the moderator on the site
Hello all, I have a text in an Excel cell "23 floyd lane, longville,KN 14564" I need a function to extract just "longville" Thanks
This comment was minimized by the moderator on the site
If you must use a function, try: =TRIM(MID(A1,SEARCH(",",A1)+1,SEARCH("!@#",SUBSTITUTE(A1,",","!@#",2))-SEARCH(",",A1)-1)) Otherwise, you might consider Data > Text to Columns > Delimited (using a comma as the separator).
This comment was minimized by the moderator on the site
Try this: =INDEX(SMALL(IF(MID(A1,MATCH(ROW(INDIRECT(1&":"&LEN(A1))),ROW(INDIRECT(1&":"&LEN(A1))),0),1)="c",MATCH(ROW(INDIRECT(1&":"&LEN(A1))),ROW(INDIRECT(1&":"&LEN(A1))),0),""),MATCH(ROW(INDIRECT(1&":"&LEN(A1)-LEN(SUBSTITUTE(A1,"c","")))),ROW(INDIRECT(1&":"&LEN(A1)-LEN(SUBSTITUTE(A1,"c","")))),0)),2) where "c" is the character required and 2 is the position. Note this is an array formula.
This comment was minimized by the moderator on the site
this is simpler: =INDEX(SMALL(IF(MID(A1,ROW(INDIRECT(1&":"&LEN(A1))),1)="c",ROW(INDIRECT(1&":"&LEN(A1))),""),ROW(INDIRECT(1&":"&LEN(A1)-LEN(SUBSTITUTE(A1,"c",""))))),2)
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations