Τύπος Excel: Μετάφραση γραμμάτων σε αριθμούς -

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

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

(=TEXTJOIN("",1,VLOOKUP(T(IF(1,MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))),xtable,2,0)))

Περίληψη

Για να μεταφράσετε γράμματα σε μια συμβολοσειρά σε αριθμούς, μπορείτε να χρησιμοποιήσετε έναν τύπο πίνακα που βασίζεται στις συναρτήσεις TEXTJOIN και VLOOKUP, με έναν καθορισμένο πίνακα μετάφρασης για να παρέχει τις απαραίτητες αναζητήσεις. Στο παράδειγμα που εμφανίζεται, ο τύπος στο C5 είναι:

(=TEXTJOIN("",1,VLOOKUP(T(IF(1,MID(B5,ROW(INDIRECT("1:"&LEN(B5))),1))),xtable,2,0)))

όπου "xtable" είναι η ονομαζόμενη περιοχή E5: F10.

Σημείωση: αυτός είναι ένας τύπος πίνακα και πρέπει να εισαχθεί με τον έλεγχο + shift + enter.

Εξήγηση

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

Για να αναλύσουμε τη συμβολοσειρά εισόδου σε πίνακα ή γράμματα, χρησιμοποιούμε συναρτήσεις MID, ROW, LEN και INDIRECT όπως:

MID(B5,ROW(INDIRECT("1:"&LEN(B5))),1)

Το LEN επιστρέφει το μήκος του κειμένου εισαγωγής, το οποίο συνδυάζεται σε "1:" και παραδίδεται στο INDIRECT ως κείμενο. Το INDIRECT αξιολογεί το κείμενο ως αναφορά γραμμής και η συνάρτηση ROW επιστρέφει μια σειρά αριθμών στο MID

MID(B5,(1;2;3),1)

Στη συνέχεια, το MID εξάγει έναν χαρακτήρα για κάθε αρχική θέση και έχουμε:

=TEXTJOIN("",1,VLOOKUP(T(IF(1,("a";"b";"c"))),xtable,2,0))

Ουσιαστικά, ζητάμε από το VLOOKUP να βρει ένα ταίριασμα για "a", "b" και "c" ταυτόχρονα. Για σκοτεινούς λόγους, πρέπει να "αποπροσανατολίσουμε" αυτόν τον πίνακα με έναν συγκεκριμένο τρόπο χρησιμοποιώντας τόσο τις λειτουργίες T όσο και IF. Μετά την εκτέλεση του VLOOKUP, έχουμε:

=TEXTJOIN("",1,(9;4;6))

και το TEXTJOIN επιστρέφει τη συμβολοσειρά "946".

Έξοδος αριθμού

Για έξοδο ενός αριθμού ως τελικό αποτέλεσμα (αντί για συμβολοσειρά), προσθέστε μηδέν. Η μαθηματική λειτουργία θα εξαναγκάσει τη συμβολοσειρά σε έναν αριθμό.

Άθροισμα αριθμών

Για να συνοψίσετε τους αριθμούς αντί να τους καταχωρίσετε, μπορείτε να αντικαταστήσετε το TEXTJOIN με το SUM όπως αυτό:

=SUM(VLOOKUP(T(IF(1,MID(B5,ROW(INDIRECT("1:"&LEN(B5))),1))),xtable,2,0))

Σημείωση: η συνάρτηση TEXTJOIN εισήχθη μέσω του προγράμματος συνδρομής Office 365 το 2018.

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

Λάβετε αρχικά από το όνομα (Chandoo)

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