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

Πώς να εξαγάγετε το πρώτο γράμμα κάθε λέξης από το κελί;

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

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


Εξάγετε το πρώτο γράμμα κάθε λέξης από το κελί με τύπο

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

1. Αντιγράψτε τον ακόλουθο τύπο σε ένα κενό κελί όπου θέλετε να λάβετε το αποτέλεσμα και, στη συνέχεια, πατήστε Ctrl + Shift + Εισαγωγή πλήκτρα μαζί για να λάβετε το πρώτο αποτέλεσμα.

=CONCAT(LEFT(FILTERXML("<a><b>"&SUBSTITUTE(A2," ","</b><b>")&"</b></a>","//b"),1))

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

Επεξήγηση αυτού του τύπου:
  • SUBSTITUTE(A2," "," "):Αυτή η συνάρτηση αντικαθιστά κάθε διάστημα στο κείμενο στο κελί A2 με . Αυτό διαχωρίζει αποτελεσματικά κάθε λέξη στο κείμενο με αυτές τις ετικέτες XML. Για παράδειγμα, εάν το A2 περιέχει "Hello World", αυτό το μέρος του τύπου το μετατρέπει σε "Hello World".
  • " "&...&" ": Αυτό το μέρος αναδιπλώνει το αποτέλεσμα της συνάρτησης SUBSTITUTE με στην αρχή και στο τέλος. Συνεχίζοντας με το παράδειγμα, η συμβολοσειρά γίνεται τώρα Hello World , σχηματίζοντας μια έγκυρη δομή XML όπου κάθε λέξη περικλείεται μέσα σε ετικέτες.
  • FILTERXML(...,"//b"): Το FILTERXML χρησιμοποιείται για την ανάλυση της συμβολοσειράς XML που δημιουργήθηκε στα προηγούμενα βήματα. Το ερώτημα XPath //b επιλέγει όλα τα στοιχεία μέσα στις ετικέτες, δηλαδή κάθε λέξη στην αρχική συμβολοσειρά. Χρησιμοποιώντας το παράδειγμά μας, το FILTERXML θα επέστρεφε έναν πίνακα με δύο στοιχεία: "Hello" και "World".
  • ΑΡΙΣΤΕΡΑ(...,1): Η συνάρτηση LEFT εφαρμόζεται στη συνέχεια σε κάθε στοιχείο του πίνακα που επιστρέφεται από το FILTERXML, εξάγοντας το πρώτο γράμμα κάθε λέξης. Στο παράδειγμα, αυτό θα είχε ως αποτέλεσμα "H" και "W".
  • CONCAT (...): Τέλος, η συνάρτηση CONCAT συνενώνει όλα τα στοιχεία του πίνακα σε μια ενιαία συμβολοσειρά. Για το παράδειγμά μας "Hello World", θα συνέδεε τα "H" και "W" για να παράγουν "HW".

Εξάγετε το πρώτο γράμμα κάθε λέξης από το Cell με το Kutools AI Aide

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

Σημείωση: Για να το χρησιμοποιήσετε Kutools AI Aide of Kutools για Excel, σας παρακαλούμε κατεβάστε και εγκαταστήστε το Kutools για Excel πρώτη.

Μετά την εγκατάσταση του Kutools για Excel, κάντε κλικ Kutools AI > Βοηθός AI για να ανοίξετε το Kutools AI Aide τζάμι:

  1. Επιλέξτε τη λίστα δεδομένων, πληκτρολογήστε την απαίτησή σας στο πλαίσιο συνομιλίας και κάντε κλικ Αποστολή πατήστε το κουμπί εισάγετε κλειδί για να στείλετε την ερώτηση?
  2. Μετά την ανάλυση, κάντε κλικ Εκτέλεση κουμπί για εκτέλεση. Το Kutools AI Aide θα επεξεργαστεί το αίτημά σας χρησιμοποιώντας AI και θα επιστρέψει τα αποτελέσματα απευθείας στο Excel.


Εξαγάγετε το πρώτο γράμμα κάθε λέξης από το κελί με συνάρτηση καθορισμένη από το χρήστη

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

1. Κρατήστε πατημένο το ALT + F11 για να ανοίξετε το Παράθυρο Microsoft Visual Basic for Applications.

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

Function GetFirstLetters(rng As Range) As String
'Updateby Extendoffice
    Dim arr
    Dim I As Long
    arr = VBA.Split(rng, " ")
    If IsArray(arr) Then
        For I = LBound(arr) To UBound(arr)
            GetFirstLetters = GetFirstLetters & Left(arr(I), 1)
        Next I
    Else
        GetFirstLetters = Left(arr, 1)
    End If
End Function

3. Στη συνέχεια, αποθηκεύστε και κλείστε αυτόν τον κωδικό, επιστρέψτε στο φύλλο εργασίας και εισαγάγετε αυτόν τον τύπο = GetFirstLetters (A2) σε ένα κενό κελί. Και, στη συνέχεια, σύρετε τη λαβή πλήρωσης στα κελιά που θέλετε να εφαρμόσετε αυτόν τον τύπο. Και όλα τα πρώτα γράμματα έχουν εξαχθεί από τη σειρά λέξεων, δείτε στιγμιότυπο οθόνης:


Σχετικά άρθρα:

  • Εξάγετε τις πρώτες ή τις τελευταίες δύο ή n λέξεις από τη συμβολοσειρά κειμένου
  • Εάν έχετε μια λίστα συμβολοσειρών κειμένου που διαχωρίζονται με κενό διάστημα και τώρα, θέλετε να εξαγάγετε πρώτα ή τελευταίες τρεις ή n λέξεις από την τιμή κελιού για να λάβετε το ακόλουθο αποτέλεσμα στιγμιότυπου οθόνης. Αυτό το άρθρο, θα παρουσιάσω ορισμένους τύπους για την εξαγωγή πρώτων ή τελευταίων δύο ή n λέξεων από συμβολοσειρά κειμένου στο Excel.
  • Εξαγωγή κειμένου μόνο πριν/μετά το διάστημα ή με κόμμα
  • Όταν θέλετε να εξαγάγετε το κείμενο πριν ή μετά το κενό από τη λίστα όπως φαίνεται παρακάτω, έχετε έναν καλό τρόπο να το ολοκληρώσετε; Επιτρέψτε μου να σας πω μερικούς τρόπους εξαγωγής κειμένου πριν ή μετά το διάστημα μόνο στο Excel.
  • Εξαγωγή διεύθυνσης email από συμβολοσειρά κειμένου
  • Όταν εισάγετε ορισμένες διευθύνσεις email από το φύλλο εργασίας του ιστότοπου στο Excel, υπάρχει πάντα άσχετο κείμενο, αλλά τώρα απλώς θέλετε να εξαγάγετε τις καθαρές διευθύνσεις email από τη συμβολοσειρά κειμένου (δείτε τα ακόλουθα στιγμιότυπα οθόνης). Πώς θα μπορούσατε να λάβετε γρήγορα μόνο τις διευθύνσεις email από το κελί;
  • Εξαγωγή συμβολοσειράς μεταξύ δύο διαφορετικών χαρακτήρων
  • Εάν έχετε μια λίστα συμβολοσειρών στο 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 (18)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Hello, If the the nth Word is enclosed in a (), it is returning the ( since it comes before the First Letter.

Example:
Word Word (Word)

How to return WWW instead of WW( ?
This comment was minimized by the moderator on the site
Hello, Sharmane
Maybe the following code can help you:
Function GetFirstLetters(rng As Range) As String
    Dim arr() As String
    Dim i As Long
    
    arr = VBA.Split(rng.Value, " ")
    
    For i = LBound(arr) To UBound(arr)
        If Left(arr(i), 1) <> "(" And Right(arr(i), 1) <> ")" Then
            GetFirstLetters = GetFirstLetters & Left(arr(i), 1)
        ElseIf Left(arr(i), 1) = "(" And Right(arr(i), 1) = ")" Then
            GetFirstLetters = GetFirstLetters & Mid(arr(i), 2, 1)
        End If
    Next i
End Function


Please have a try, thank you!
This comment was minimized by the moderator on the site
Another suggestion if using Microsoft 365: =TEXTJOIN("",,LEFT(TEXTSPLIT(D9," "),1)) where the source string is in B9.
Wrap in UPPER function to enforce uppercase: =UPPER(TEXTJOIN("",,LEFT(TEXTSPLIT(D9," "),1)))
@Pradeep Gyawali -> add space: =UPPER(TEXTJOIN(" ",,LEFT(TEXTSPLIT(D9," "),1)))
This comment was minimized by the moderator on the site
Wondering how to add this into the existing formula I have that works to bring the value over from a cell in another sheet? I only want to bring over the first character in each cell. Here's the formula

=IF(LOOKUP(2,1/(OriginalSubmission!D:D<>""),ROW(OriginalSubmission!D:D))=ROW(OriginalSubmission!D4),"",INDIRECT("OriginalSubmission!D5:"&"D"&(LOOKUP(2,1/(OriginalSubmission!D:D<>""),ROW(OriginalSubmission!D:D)))))
This comment was minimized by the moderator on the site
Hello, SARAH
Do you mean extracting each first character in cells from another worksheet? If so, you just need to copy and paste the code in this article, and then apply this formula into another sheet.
=GetFirstLetters(OriginalSubmission!D4)


Note: OriginalSubmission is the sheet name that you want to extract charatcers from.
Please try, hope it can help you!
This comment was minimized by the moderator on the site
How to create space between the letters?

South Korea= S K
This comment was minimized by the moderator on the site
Hi, Gyawali
If you want to add space for each character, please apply the following VBA code:
Function GetFirstLetters(Rng As Range) As String
'Updateby Extendoffice
    Dim xStr
    Dim arr
    Dim I As Long
    xStr = " "
    arr = VBA.Split(Rng, " ")
    If IsArray(arr) Then
        For I = LBound(arr) To UBound(arr)
            GetFirstLetters = GetFirstLetters & Left(arr(I), 1) & xStr
        Next I
    Else
        GetFirstLetters = Left(arr, 1) & xStr
    End If
End Function


After insert the code, and then apply this formula: =GetFirstLetters(A2) to get the result you need.
Please try, hope it can help you!
This comment was minimized by the moderator on the site
Why is this giving me the first 2 letters in each word?
This comment was minimized by the moderator on the site
This is awesome. Such a time saver
This comment was minimized by the moderator on the site
This code is good for upto five words, where D20 is the cell with data.



=IF(ISERR(LEFT($D$20,1)&MID($D$20,SEARCH(" ",$D$20)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)+1)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20,SEARCH(" ",
$D$20)+1)+1)+1)+1,1)),IF(ISERR(LEFT($D$20,1)&MID($D$20,SEARCH(" ",$D$20)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)+1)+1,1)),
IF(ISERR(LEFT($D$20,1)&MID($D$20,SEARCH(" ",$D$20)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)+1,1)),
IF(ISERR(LEFT($D$20,1)&MID($D$20,SEARCH(" ",$D$20)+1,1)),
IF(ISERR(LEFT($D$20,1)),"",LEFT($D$20,1)),LEFT($D$20,1)
&MID($D$20,SEARCH(" ",$D$20)+1,1)),LEFT($D$20,1)&MID($D$20,SEARCH(" ",$D$20)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)+1,1)),
LEFT($D$20,1)&MID($D$20,SEARCH(" ",$D$20)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)+1)+1,1)),LEFT($D$20,1)
&MID($D$20,SEARCH(" ",$D$20)+1,1)&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)+1)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)
+1)+1)+1,1))
This comment was minimized by the moderator on the site
Подскажите пожалуйста, можно ли модифицировать код чтобы забиралась не первые а Заглавные буквы?
This comment was minimized by the moderator on the site
i think it has one bug, it's automatically removed from module when sheet is closed, need to again every time when open sheet same process to be required, please advice how to save this formula in excel permanently.
This comment was minimized by the moderator on the site
Pls save excel as Excel Macro-Enablel work book.
This comment was minimized by the moderator on the site
Please include this part: If you create a function called DISCOUNT in a workbook called Personal.xlsb and you call that function from another workbook, you must type =personal.xlsb!discount(), not simply =discount(). https://support.office.com/en-us/article/Create-Custom-Functions-in-Excel-2007-2f06c10b-3622-40d6-a1b2-b6748ae8231f
There are no comments posted here yet
Load More
Leave your comments
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations