Τύπος Excel: Κατάργηση τελευταίας λέξης -

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

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

=MID(A1,1,FIND("~",SUBSTITUTE(A1," ","~",LEN(A1)-LEN(SUBSTITUTE(A1," ",""))))-1)

Περίληψη

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

=MID(B5,1,FIND("~",SUBSTITUTE(B5," ","~",LEN(B5)-LEN(SUBSTITUTE(B5," ",""))))-1)

Εξήγηση

Αυτός ο τύπος χρησιμοποιεί τη συνάρτηση MID για να αφαιρέσει την τελευταία λέξη από μια συμβολοσειρά κειμένου. Η κύρια πρόκληση είναι να καταλάβουμε από πού ξεκινά η τελευταία λέξη.

Ο τύπος είναι λίγο περίπλοκος, αλλά τα βήματα είναι απλά. Αρχικά μετράμε πόσα κενά υπάρχουν στο κείμενο χρησιμοποιώντας το LEN και το SUBSTITUTE. Στη συνέχεια, χρησιμοποιούμε το κάπως ασαφές όρισμα "παρουσίας" στη συνάρτηση SUBSTITUTE για να αντικαταστήσουμε τον τελευταίο χώρο με ένα tilde (~). Τέλος, χρησιμοποιούμε το FIND για να καταλάβουμε πού βρίσκεται η περιστροφή και τη λειτουργία MID για να απορρίψουμε τα πάντα μετά την περιστροφή.

Δουλεύοντας από μέσα προς τα έξω, χρησιμοποιούμε τις λειτουργίες LEN και SUBSTITUTE για να μετρήσουμε πόσα κενά εμφανίζονται στο επόμενο:

LEN(B5)-LEN(SUBSTITUTE(B5," ","")) // returns 6

Για το κείμενο στο B5, αυτό επιστρέφει 6. Αυτή η σελίδα εξηγεί αυτό το μέρος του τύπου με περισσότερες λεπτομέρειες. Αυτό μας λέει ότι θέλουμε να κόψουμε το κείμενο στον 6ο διαστημικό χαρακτήρα.

Σημείωση: εάν οι λέξεις χωρίζονται από περισσότερα από ένα κενά, θα θελήσετε να ομαλοποιήσετε πρώτα τα κενά με τη λειτουργία TRIM

Στη συνέχεια, ο αριθμός 6 συνδέεται σε άλλο ΥΠΟΤΡΟΦΟ ως "αριθμός παρουσίας":

SUBSTITUTE(B5," ","~",6) // insert tilde

Εδώ, αντικαθιστούμε την 6η παρουσία ενός διαστήματος ("") με ένα tilde (~). Μετά την εκτέλεση του SUBSTITUTE, επιστρέφει αυτήν τη συμβολοσειρά:

"It's been seven hours and fifteen~days"

Σημείωση: χρησιμοποιούμε ένα tilde (~) μόνο επειδή είναι ένας σπάνια χαρακτήρας. Μπορείτε να χρησιμοποιήσετε οποιονδήποτε χαρακτήρα θέλετε, αρκεί να μην εμφανίζεται στο αρχικό κείμενο.

Στη συνέχεια, χρησιμοποιούμε τη συνάρτηση FIND για να εντοπίσουμε το tilde:

FIND("~","It's been seven hours and fifteen~days")-1

Το FIND επιστρέφει το 34, καθώς το tilde είναι ο 34ος χαρακτήρας. Αφαιρούμε το 1 από αυτόν τον αριθμό, επειδή δεν θέλουμε να συμπεριλάβουμε τον τελευταίο κενό στο τελικό αποτέλεσμα. Μπορούμε τώρα να απλοποιήσουμε τον τύπο σε:

=MID(B5,1,33) // extract final text

Στη συνέχεια, η συνάρτηση MID επιστρέφει χαρακτήρες 1-33:

"It's been seven hours and fifteen"

Με προσαρμοσμένο οριοθέτη

Ο ίδιος τύπος μπορεί να χρησιμοποιηθεί με διαφορετικό οριοθέτη. Για παράδειγμα, για να καταργήσετε όλο το κείμενο μετά την τελευταία κάθετο "/", μπορείτε να χρησιμοποιήσετε:

=MID(A1,1,FIND("~",SUBSTITUTE(A1,"/","~",LEN(A1)-LEN(SUBSTITUTE(A1,"/",""))))-1)

Αφαιρέστε τις τελευταίες λέξεις

Μπορείτε να προσαρμόσετε τον τύπο για να καταργήσετε τις τελευταίες 2 λέξεις, τις τελευταίες 3 λέξεις κ.λπ. Η γενική φόρμα είναι:

=MID(A1,1,FIND("~",SUBSTITUTE(A1,d,"~",LEN(A1)-LEN(SUBSTITUTE(A1,d,""))-(n-1)))-1)

όπου d είναι ο οριοθέτης και n είναι ο αριθμός των λέξεων που πρέπει να αφαιρεθούν.

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