Τύπος Excel: Εξαγωγή δύο τελευταίων λέξεων από το κελί -

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

Γενική φόρμουλα

=MID(A1,FIND("@",SUBSTITUTE(A1," ","@",LEN(A1)-LEN(SUBSTITUTE(A1," ",""))-1))+1,100)

Περίληψη

Για να εξαγάγετε τις δύο τελευταίες λέξεις από ένα κελί, μπορείτε να χρησιμοποιήσετε έναν τύπο που έχει δημιουργηθεί με πολλές συναρτήσεις του Excel, συμπεριλαμβανομένων των MID, FIND, SUBSTITUTE και LEN. Στο παράδειγμα που εμφανίζεται, ο τύπος στο C5 είναι:

=MID(B5,FIND("@",SUBSTITUTE(B5," ","@",LEN(B5)-LEN(SUBSTITUTE(B5," ",""))-1))+1,100)

Εξήγηση

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

Το κείμενο προέρχεται από τη στήλη Β και ο αριθμός των χαρακτήρων μπορεί να είναι οποιοσδήποτε μεγάλος αριθμός που θα διασφαλίσει την εξαγωγή των δύο τελευταίων λέξεων. Η πρόκληση είναι να προσδιορίσετε τη θέση εκκίνησης, η οποία είναι ακριβώς μετά το δεύτερο διάστημα. Η έξυπνη εργασία γίνεται κυρίως με τη συνάρτηση SUBSTITUTE, η οποία έχει ένα προαιρετικό όρισμα που ονομάζεται αριθμός παρουσίας. Αυτή η δυνατότητα χρησιμοποιείται για να αντικαταστήσει το διάστημα από το δεύτερο έως το τελευταίο στο κείμενο με το χαρακτήρα "@", ο οποίος στη συνέχεια βρίσκεται με τη λειτουργία FIND.

Δουλεύοντας από μέσα προς τα έξω, το παρακάτω απόσπασμα υπολογίζει πόσα κενά είναι στο σύνολο του κειμένου, από τα οποία αφαιρείται το 1.

LEN(B5)-LEN(SUBSTITUTE(B5," ",""))-1

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

SUBSTITUTE(B5," ","@",4)

Αυτό προκαλεί το SUBSTITUTE να αντικαταστήσει τον τέταρτο διαστημικό χαρακτήρα με το "@". Η επιλογή του @ είναι αυθαίρετη. Μπορείτε να χρησιμοποιήσετε οποιονδήποτε χαρακτήρα που δεν θα εμφανίζεται στο αρχικό κείμενο.

Στη συνέχεια, το FIND εντοπίζει το χαρακτήρα "@" στο κείμενο:

FIND("@","A stitch in time@saves nine")

Το αποτέλεσμα του FIND είναι 17, στο οποίο προστίθεται 1 στο 18. Αυτή είναι η αρχική θέση και μπαίνει στη λειτουργία MID ως το δεύτερο όρισμα. Για απλότητα, ο αριθμός των χαρακτήρων που θα εξαγάγετε είναι κωδικοποιημένος ως 100. Αυτός ο αριθμός είναι αυθαίρετος και μπορεί να ρυθμιστεί ώστε να ταιριάζει στην κατάσταση.

Εξαγάγετε τις τελευταίες λέξεις Ν από το κελί

Αυτός ο τύπος μπορεί να γενικευτεί για την εξαγωγή των τελευταίων Ν λέξεων από ένα κελί αντικαθιστώντας τον σκληρό κώδικα 1 στο παράδειγμα με (Ν-1). Επιπλέον, εάν εξάγετε πολλές λέξεις, ίσως θελήσετε να αντικαταστήσετε το όρισμα hardcoded στο MID, 100, με μεγαλύτερο αριθμό. Για να σας εγγυηθούμε ότι ο αριθμός είναι αρκετά μεγάλος, μπορείτε απλά να χρησιμοποιήσετε τη λειτουργία LEN ως εξής:

=MID(B5,FIND("@",SUBSTITUTE(B5," ","@",LEN(B5)-LEN(SUBSTITUTE(B5," ",""))-(N-1)))+1,LEN(B5))

ενδιαφέροντα άρθρα...