λογισμικό

    没有任何同级栏目
Γνώση Υπολογιστών >> λογισμικό >

Πώς μετατρέπετε τους αριθμούς σε αλφάβητο στο Microsoft Excel για παράδειγμα 10 δέκα και 1200 δώδεκα εκατοντάδες;

Δεν μπορείτε να μετατρέψετε απευθείας τους αριθμούς σε λέξεις-out-out στο Excel χρησιμοποιώντας μια ενσωματωμένη λειτουργία. Ωστόσο, μπορείτε να το επιτύχετε χρησιμοποιώντας έναν συνδυασμό τύπων και κώδικα VBA:

Χρήση τύπων (περιορισμένος σε μικρότερους αριθμούς):

1. Αριθμός σε κείμενο: Χρησιμοποιήστε τη λειτουργία `text 'για να μετατρέψετε τον αριθμό σε κείμενο. Για παράδειγμα, `=κείμενο (10," 0 ")` θα επιστρέψει "10".

2. Πίνακας αναζήτησης: Δημιουργήστε έναν πίνακα αναζήτησης που περιέχει αριθμούς και τις αντίστοιχες ορθογραφίες τους. Αυτός ο πίνακας θα πρέπει να συμπεριλάβει όλους τους αριθμούς που θέλετε να μετατρέψετε.

3. vlookup: Χρησιμοποιήστε τη λειτουργία `vlookup` για να αναζητήσετε τον αριθμό στον πίνακα αναζήτησης και να επιστρέψετε την αντίστοιχη ορθογραφία. Για παράδειγμα, `=vlookup (a1, table1,2, false)` θα αναζητήσει την τιμή στο κελί A1 στον πίνακα "Πίνακας1" και θα επιστρέψει την τιμή στη δεύτερη στήλη.

Περιορισμοί της προσέγγισης του τύπου:

* Περιορισμένη εμβέλεια: Αυτή η μέθοδος λειτουργεί μόνο για αριθμούς εντός του εύρους του πίνακα αναζήτησης.

* Σύνθετη ρύθμιση: Η δημιουργία και η διατήρηση ενός μεγάλου πίνακα αναζήτησης για όλους τους πιθανούς αριθμούς μπορεί να είναι κουραστική.

Χρήση κώδικα VBA (πιο εύκαμπτο):

1. Ανοίξτε τον επεξεργαστή VBA: Πατήστε `alt + f11` για να ανοίξετε τον επεξεργαστή Visual Basic.

2. Εισαγάγετε τη μονάδα: Τοποθετήστε μια νέα ενότητα κάνοντας κλικ στο "Εισαγωγή"> "Μονάδα".

3. Επικολλήστε τον κωδικό: Επικολλήστε τον ακόλουθο κώδικα στην ενότητα:

`` `vba

Λειτουργία spellNumber (byval myNumber ως διπλό) ως συμβολοσειρά

Dim εκατοντάδες ως συμβολοσειρά, δεκάδες ως συμβολοσειρά, αυτά ως συμβολοσειρά

Dim Place ως ακέραιος

«Χειριστείτε αρνητικούς αριθμούς

Εάν mynumber <0 τότε

SpellNumber ="αρνητικό" &spellNumber (abs (myNumber))

Έξοδος

Τέλος εάν

«Χειρίστε μηδέν

Εάν myNumber =0 τότε

SpellNumber ="μηδέν"

Έξοδος

Τέλος εάν

«Αριθμοί χειρισμού άνω των 999,999,999

Εάν mynumber> 9999999999 τότε

SpellNumber ="Αριθμός πολύ μεγάλος"

Έξοδος

Τέλος εάν

«Δημιουργία συστοιχιών για ορθογραφίες αριθμών

Dim OneSarray () ως συμβολοσειρά

Onesarray =split ("μηδέν, ένα, δύο, τρία, τέσσερα, πέντε, έξι, επτά, οκτώ, εννέα", ",")

Dim TeensArray () ως συμβολοσειρά

Teensarray =split ("Δέκα, έντεκα, δώδεκα, δεκατρία, δεκατέσσερις, δεκαπέντε, δεκαέξι, δεκαεπτά, δεκαοκτώ, δεκαεννέα", ",")

Dim tensarray () ως συμβολοσειρά

Tensarray =split ("είκοσι, τριάντα, σαράντα, πενήντα, εξήντα, εβδομήντα, ογδόντα, ενενήντα", ",")

«Καταρρίψτε τον αριθμό στις τιμές της θέσης του

Θέση =1

Εκατοντάδες =""

Tens =""

Αυτά =""

Κάντε ενώ mynumber> 0

Επιλέξτε Τόπος Περίπτωσης

Περίπτωση 1

Ones =onesarray (myNumber mod 10)

MyNumber =int (myNumber / 10)

Θήκη 2

Εάν myNumber mod 10 =1 τότε

Tens =teensarray (myNumber mod 100 - 10)

MyNumber =int (myNumber / 100)

Αλλού

Tens =tensarray (myNumber mod 10 - 1)

MyNumber =int (myNumber / 10)

Τέλος εάν

Θήκη 3

Εκατοντάδες =onesarray (myNumber mod 10) &"εκατό"

MyNumber =int (myNumber / 10)

Θήκη 4

Εάν myNumber mod 10 =1 τότε

Tens =teensarray (myNumber mod 100 - 10)

MyNumber =int (myNumber / 100)

Αλλού

Tens =tensarray (myNumber mod 10 - 1)

MyNumber =int (myNumber / 10)

Τέλος εάν

Εκατοντάδες =onesarray (mynumber mod 10) &"χιλιάδες"

MyNumber =int (myNumber / 10)

Περίπτωση 5

Ones =onesarray (myNumber mod 10)

MyNumber =int (myNumber / 10)

Υπόθεση 6

Εάν myNumber mod 10 =1 τότε

Tens =teensarray (myNumber mod 100 - 10)

MyNumber =int (myNumber / 100)

Αλλού

Tens =tensarray (myNumber mod 10 - 1)

MyNumber =int (myNumber / 10)

Τέλος εάν

Θήκη 7

Εκατοντάδες =onesarray (myNumber mod 10) &"εκατό"

MyNumber =int (myNumber / 10)

Θήκη 8

Εάν myNumber mod 10 =1 τότε

Tens =teensarray (myNumber mod 100 - 10)

MyNumber =int (myNumber / 100)

Αλλού

Tens =tensarray (myNumber mod 10 - 1)

MyNumber =int (myNumber / 10)

Τέλος εάν

Εκατοντάδες =onesarray (mynumber mod 10) &"εκατομμύρια"

MyNumber =int (myNumber / 10)

End select

Place =Place + 1

Βρόχος

«Συνδυάστε τις τιμές του τόπου σε μια ενιαία συμβολοσειρά

Spellnumber =εκατοντάδες και δεκάδες

Τελική λειτουργία

`` `

4. Χρησιμοποιήστε τη λειτουργία στο Excel: Στο φύλλο του Excel, μπορείτε να χρησιμοποιήσετε τη λειτουργία όπως αυτή:`=SpellNumber (A1)`, όπου το A1 περιέχει τον αριθμό που θέλετε να μετατρέψετε.

Πλεονεκτήματα της προσέγγισης VBA:

* μεγαλύτεροι αριθμοί: Χειρίζεται αριθμούς μέχρι 999.999.999.

* Χωρίς πίνακα αναζήτησης: Δεν χρειάζεται να δημιουργήσετε και να διατηρήσετε έναν πίνακα αναζήτησης.

Σημείωση: Ο κώδικας VBA απαιτεί την ενεργοποίηση των μακροεντολών στο Excel.

Θυμηθείτε να επιλέξετε την προσέγγιση που ταιριάζει καλύτερα στις ανάγκες σας και το μέγεθος των αριθμών που χρειάζεστε για να μετατρέψετε.

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα