Τύπος Excel: Διαχωρισμός κειμένου και αριθμών -

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

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

=MIN(FIND((0,1,2,3,4,5,6,7,8,9),A1&"0123456789"))

Περίληψη

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

=MIN(FIND((0,1,2,3,4,5,6,7,8,9),B5&"0123456789"))

που επιστρέφει 7, τη θέση του αριθμού 3 στη συμβολοσειρά "apples30".

Εξήγηση

ΣΦΑΙΡΙΚΗ ΕΙΚΟΝΑ

Ο τύπος φαίνεται περίπλοκος, αλλά οι μηχανικοί είναι στην πραγματικότητα αρκετά απλοί.

Όπως με τους περισσότερους τύπους που χωρίζουν ή εξάγουν κείμενο, το κλειδί είναι να εντοπίσετε τη θέση του αντικειμένου που ψάχνετε. Μόλις έχετε τη θέση, μπορείτε να χρησιμοποιήσετε άλλες λειτουργίες για να εξαγάγετε ό, τι χρειάζεστε.

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

Πρωτότυπο Κείμενο Αριθμός
Μήλα30 Μήλα 30
ροδάκινα24 ροδάκινα 24
πορτοκάλια12 πορτοκάλια 12
ροδάκινα0 ροδάκινα 0

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

=MIN(FIND((0,1,2,3,4,5,6,7,8,9),A1&"0123456789"))

Μόλις έχετε τη θέση, για να εξαγάγετε μόνο το κείμενο, χρησιμοποιήστε:

=LEFT(A1,position-1)

Και, για να εξαγάγετε μόνο τον αριθμό, χρησιμοποιήστε:

=RIGHT(A1,LEN(A1)-position+1)

Στον πρώτο τύπο παραπάνω, χρησιμοποιούμε τη συνάρτηση FIND για να εντοπίσουμε την αρχική θέση του αριθμού. Για το find_text, χρησιμοποιούμε τη σταθερά πίνακα (0,1,2,3,4,5,6,7,8,9), με αποτέλεσμα η συνάρτηση FIND να εκτελεί ξεχωριστή αναζήτηση για κάθε τιμή στη σταθερά πίνακα. Δεδομένου ότι η σταθερά πίνακα περιέχει 10 αριθμούς, το αποτέλεσμα θα είναι ένας πίνακας με 10 τιμές. Για παράδειγμα, εάν το αρχικό κείμενο είναι "apples30", ο πίνακας που προκύπτει θα είναι:

(8,10,11,7,13,14,15,16,17,18)

Κάθε αριθμός σε αυτόν τον πίνακα αντιπροσωπεύει τη θέση ενός στοιχείου στη σταθερά πίνακα μέσα στο αρχικό κείμενο.

Στη συνέχεια, η συνάρτηση MIN επιστρέφει τη μικρότερη τιμή στη λίστα, η οποία αντιστοιχεί στη θέση του πρώτου αριθμού που εμφανίζεται στο αρχικό κείμενο. Στην ουσία, η συνάρτηση FIND παίρνει όλες τις θέσεις αριθμών και το MIN μας δίνει την πρώτη θέση αριθμού: παρατηρήστε ότι το 7 είναι η μικρότερη τιμή στον πίνακα, που αντιστοιχεί στη θέση του αριθμού 3 στο αρχικό κείμενο.

Ίσως να αναρωτιέστε για το παράξενο κατασκευής για within_text στη λειτουργία Αναζήτηση:

B5&"0123456789"

Αυτό το μέρος του τύπου συνδυάζει κάθε πιθανό αριθμό 0-9 με το αρχικό κείμενο στο B5. Δυστυχώς, το FIND δεν επιστρέφει μηδέν όταν δεν εντοπίζεται μια τιμή, οπότε αυτός είναι απλώς ένας έξυπνος τρόπος για να αποφύγετε σφάλματα που θα μπορούσαν να προκύψουν όταν δεν βρεθεί ένας αριθμός.

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

Εάν το πρωτότυπο κείμενο δεν περιέχει αριθμούς, θα εμφανιστεί μια θέση "ψευδής" ίση με το μήκος του αρχικού κειμένου + 1. Με αυτήν την ψευδή θέση, ο παραπάνω αριστερός τύπος θα επιστρέψει το κείμενο και ο ΔΕΞΙΟΣ τύπος θα επιστρέψει μια κενή συμβολοσειρά ("").

Καλές συνδέσεις

Φόρμουλα από τον Rick Rothstein στο Mr Excel

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