
Γενική φόρμουλα
(=TEXTJOIN("",TRUE,IFERROR(MID(A1,ROW(INDIRECT("1:100")),1)+0,"")))
Περίληψη
Για να καταργήσετε μη αριθμητικούς χαρακτήρες από μια συμβολοσειρά κειμένου, μπορείτε να δοκιμάσετε αυτόν τον πειραματικό τύπο με βάση τη συνάρτηση TEXTJOIN, μια νέα συνάρτηση στο Excel 2019. Στο παράδειγμα που εμφανίζεται, ο τύπος στο C5 είναι:
(=TEXTJOIN("",TRUE,IFERROR(MID(B5,ROW(INDIRECT("1:100")),1)+0,"")))
Σημείωση: αυτός είναι ένας τύπος πίνακα και πρέπει να εισαχθεί με τον έλεγχο + shift + enter.
Εξήγηση
Δουλεύοντας από μέσα προς τα έξω, ο τύπος MID χρησιμοποιείται για την εξαγωγή του κειμένου σε B5, έναν χαρακτήρα κάθε φορά.
Το κλειδί είναι το κομμάτι ROW / INDIRECT:
ROW(INDIRECT("1:100"))
που περιστρέφει έναν πίνακα που περιέχει 100 αριθμούς όπως αυτό:
(1,2,3,4,5,6,7,8… .99,100)
Σημείωση: 100 αντιπροσωπεύει τους μέγιστους χαρακτήρες για επεξεργασία. Αλλαγή για να ταιριάζει στα δεδομένα σας.
Αυτός ο πίνακας μπαίνει στη συνάρτηση MID ως όρισμα start_num . Για num_chars , χρησιμοποιούμε 1.
Η συνάρτηση MID επιστρέφει έναν πίνακα ως εξής:
("1"; "0"; "0"; ""; "a"; "p"; "p"; "l"; "e"; "s"; ""; ""; ""; " "…)
(επιπλέον στοιχεία στον πίνακα καταργήθηκαν για αναγνωσιμότητα)
Σε αυτόν τον πίνακα, προσθέτουμε μηδέν. Αυτό είναι ένα απλό τέχνασμα που αναγκάζει το Excel να προσπαθήσει να εξαναγκάσει κείμενο σε έναν αριθμό. Οι αριθμητικές τιμές κειμένου όπως "1", "2", "3", "4" κ.λπ. μετατρέπονται, ενώ οι μη αριθμητικές τιμές αποτυγχάνουν και ρίχνουν ένα σφάλμα #VALUE. Χρησιμοποιούμε τη συνάρτηση IFERROR για να πιάσουμε αυτά τα σφάλματα και να επιστρέψουμε μια κενή συμβολοσειρά (""), ενώ οι αριθμητικές τιμές περνούν μέσα στον πίνακα. Το αποτέλεσμα είναι ένας πίνακας που περιέχει μόνο αριθμούς και κενές συμβολοσειρές:
(1; 0; 0; ""; ""; ""; ""; "";….)
Τέλος, το αποτέλεσμα αυτό συστοιχία πηγαίνει στην λειτουργία TEXTJOIN ως κείμενο1 επιχείρημα. Για οριοθέτη , χρησιμοποιούμε μια κενή συμβολοσειρά ("") και για ign_empty παρέχουμε TRUE Στη συνέχεια, το TEXTJOIN συνενώνει όλες τις μη κενές τιμές στον πίνακα και επιστρέφει το αποτέλεσμα.
Σημείωση: Το TEXTJOIN θα επιστρέψει τους αριθμούς ως κείμενο, για παράδειγμα "100," 500 "κ.λπ. Εάν θέλετε ένα πραγματικό αριθμητικό αποτέλεσμα, προσθέστε μηδέν ή τυλίξτε ολόκληρο τον τύπο στη συνάρτηση VALUE.