Τύπος Excel: Περικοπή κειμένου σε n λέξεις -

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

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

=LEFT(txt,FIND("#",SUBSTITUTE(txt," ","#",n))-1)

Περίληψη

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

=LEFT(B5,FIND("#",SUBSTITUTE(B5," ","#",C5))-1)

Εξήγηση

Χρειαζόμαστε έναν τρόπο διαχωρισμού κειμένου σε έναν συγκεκριμένο δείκτη που αντιστοιχεί σε έναν ορισμένο αριθμό λέξεων. Το Excel δεν διαθέτει ενσωματωμένη συνάρτηση για την ανάλυση κειμένου με λέξη, οπότε χρησιμοποιούν το όρισμα "παρουσία" της συνάρτησης SUBSTITUTE για να αντικαταστήσουν έναν χαρακτήρα "nth space" με το σύμβολο λίρας (#) και στη συνέχεια χρησιμοποιώντας FIND και LEFT για να απορρίψουν κείμενο μετά το δείκτη.

Δουλεύοντας από μέσα προς τα έξω, το SUBSTITUTE έχει διαμορφωθεί ώστε να αντικαθιστά την nth εμφάνιση ενός χαρακτήρα διαστήματος, όπου το n προέρχεται από τη στήλη C, το κείμενο προέρχεται από τη στήλη B και το "#" είναι κωδικοποιημένο.

=SUBSTITUTE(B5," ","#",C5) =SUBSTITUTE("The cat sat on the mat."," ","#",3) ="The cat sat#on the mat."

Η προκύπτουσα συμβολοσειρά επιστρέφεται στη συνάρτηση FIND, διαμορφωμένη ώστε να αναζητά το "#".

=FIND("#","The cat sat#on the mat.)

Επειδή το "#" είναι ο 12ος χαρακτήρας στο κείμενο, το FIND επιστρέφει 12. Δεν θέλουμε να συμπεριλάβουμε τον ίδιο τον χαρακτήρα διαστήματος, οπότε αφαιρούμε το 1

=LEFT(B5,12-1) =LEFT(B5,11)

Το LEFT επιστρέφει το τελικό αποτέλεσμα από τον τύπο, "The cat sat".

Σημείωση: ο χαρακτήρας λίρας ("#") είναι αυθαίρετος και μπορεί να αντικατασταθεί με οποιονδήποτε χαρακτήρα που δεν θα εμφανίζεται στο κείμενο.

Προσθέστε elipses ή άλλο χαρακτήρα

Για να προσθέσετε το "…" στο τέλος του περικομμένου κειμένου, χρησιμοποιήστε τη συνένωση ως εξής:

=LEFT(B5,FIND("#",SUBSTITUTE(B5," ","#",C5))-1)&"… "

Μπορείτε να αντικαταστήσετε το "…" με οτιδήποτε θέλετε.

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