Πίνακας περιεχομένων
Σε αυτό το άρθρο θα σας δείξω δύο γρήγορους και δωρεάν τρόπους για να μετατρέψετε αριθμούς νομισμάτων σε αγγλικές λέξεις στο Excel 2019, 2016, 2013 και άλλες εκδόσεις.
Το Microsoft Excel είναι ένα εξαιρετικό πρόγραμμα για να υπολογίζετε αυτό και εκείνο. Αρχικά αναπτύχθηκε για την επεξεργασία μεγάλων πινάκων δεδομένων. Ωστόσο, επιτρέπει επίσης τη δημιουργία λογιστικών αρχείων όπως τιμολόγια, αξιολόγηση ή ισολογισμούς γρήγορα και αποτελεσματικά.
Στα περισσότερο ή λιγότερο στέρεα έγγραφα πληρωμών είναι απαραίτητο να αντιγράφονται οι αριθμητικές τιμές με τη λεκτική τους μορφή. Είναι πολύ πιο δύσκολο να παραποιηθούν οι δακτυλογραφημένοι αριθμοί απ' ό,τι οι χειρόγραφα γραμμένοι. Κάποιος απατεώνας μπορεί να προσπαθήσει να κάνει 8000 από 3000, ενώ είναι σχεδόν αδύνατο να αντικαταστήσει κρυφά το "τρία" με το "οκτώ".
Έτσι, αυτό που χρειάζεστε δεν είναι απλώς να μετατρέψετε αριθμούς σε λέξεις στο Excel (π.χ. 123,45 σε "εκατόν είκοσι τρία, σαράντα πέντε"), αλλά να γράψετε δολάρια και σεντς (π.χ. $29,95 ως "είκοσι εννέα δολάρια και ενενήντα εννέα σεντς" ), λίρες και πένες για GBP, ευρώ και eurocents για EUR κ.λπ.
Ακόμη και οι τελευταίες εκδόσεις του Excel δεν διαθέτουν ενσωματωμένο εργαλείο για την ορθογραφία των αριθμών, για να μην αναφέρουμε τις προηγούμενες εκδόσεις. Αλλά τότε είναι που το Excel είναι πραγματικά καλό. Μπορείτε πάντα να βελτιώσετε τη λειτουργικότητά του χρησιμοποιώντας τύπους σε όλες τις
συνδυασμούς, μακροεντολές VBA ή πρόσθετα τρίτων κατασκευαστών.
Παρακάτω θα βρείτε δύο τρόπους μετατροπής αριθμών από αριθμούς σε λέξεις
Και, ενδεχομένως, μπορεί να χρειαστεί να μετατρέψετε λέξεις σε αριθμούς στο Excel.
Σημείωση. Αν ψάχνετε για το μετατροπή αριθμού σε κείμενο , που σημαίνει ότι θέλετε το Excel να δει τον αριθμό σας ως κείμενο, είναι λίγο διαφορετικό πράγμα. Για αυτό, μπορείτε να χρησιμοποιήσετε τη συνάρτηση TEXT ή μερικούς άλλους τρόπους που περιγράφονται στην ενότητα Πώς να μετατρέψετε αριθμούς σε κείμενο στο Excel.
Μακροεντολή SpellNumber VBA για τη μετατροπή αριθμών σε λέξεις
Όπως έχω ήδη αναφέρει, η Microsoft δεν ήθελε να προσθέσει ένα εργαλείο για αυτή την εργασία. Ωστόσο, όταν είδε πόσοι χρήστες το χρειάζονταν, δημιούργησε και δημοσίευσε την ειδική μακροεντολή VBA στον ιστότοπό της. Η μακροεντολή κάνει αυτό που υποδηλώνει το όνομά της SpellNumber. Όλες οι άλλες μακροεντολές που συνάντησα βασίζονται στον κώδικα της Microsoft.
Μπορείτε να βρείτε τη μακροεντολή που αναφέρεται ως "spellnumber formula". Ωστόσο, δεν πρόκειται για τύπο, αλλά για συνάρτηση μακροεντολής, ή για να είμαστε πιο ακριβείς Λειτουργία που ορίζεται από τον χρήστη του Excel (UDF).
Η επιλογή spellnumber μπορεί να γράψει δολάρια και σεντς. Αν χρειάζεστε ένα διαφορετικό νόμισμα, μπορείτε να αλλάξετε το " δολάρια " και " cent " με το όνομα του δικού σας.
Αν δεν είστε γνώστης της VBA, παρακάτω θα βρείτε ένα αντίγραφο του κώδικα. Αν πάλι δεν θέλετε ή δεν έχετε χρόνο να το λύσετε, χρησιμοποιήστε αυτή τη λύση.
- Ανοίξτε το βιβλίο εργασίας όπου πρέπει να γράψετε τους αριθμούς.
- Πατήστε Alt+F11 για να ανοίξετε το παράθυρο επεξεργασίας της Visual Basic.
- Εάν έχετε ανοίξει πολλά βιβλία, ελέγξτε ότι το βιβλίο εργασίας που χρειάζεστε είναι ενεργό χρησιμοποιώντας τη λίστα των έργων στην επάνω αριστερή γωνία του επεξεργαστή (ένα από τα στοιχεία του βιβλίου εργασίας επισημαίνεται με μπλε χρώμα).
- Στο μενού του επεξεργαστή μεταβείτε στο Εισαγωγή ->, Ενότητα .
- Θα πρέπει να εμφανιστεί ένα παράθυρο με όνομα YourBook - Module1. Επιλέξτε όλο τον κώδικα στο παρακάτω πλαίσιο και επικολλήστε τον σε αυτό το παράθυρο.
Option Explicit 'Main Function Function SpellNumber( ByVal MyNumber) Dim Dollars, Cents, Temp Dim DecimalPlace, Count ReDim Place(9) As String Place(2) = " Thousand " Place(3) = " Million " Place(4) = " Billion " Place(5) = " Trillion " MyNumber = Trim(Str(MyNumber)) DecimalPlace = InStr(MyNumber, "." ) If DecimalPlace> 0 Then Cents = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & _ "00", 2)) MyNumber = Trim(Left(MyNumber, DecimalPlace - 1)) End If Count = 1 Do While MyNumber "" Temp = GetHundreds(Right(MyNumber, 3)) If Temp "" Then Dollars = Temp &- Place(Count) &- Dollars If Len(MyNumber)>- 3 Then MyNumber = Left(MyNumber, Len(MyNumber) - 3) Else MyNumber = "" End If Count = Count + 1 Loop Select Case Dollars Case "" Dollars = "No Dollars" Case "One" Dollars = "OneDollar" Case Else Dollars = Dollars & " Dollars" End Select Select Case Cents Case "" Cents = " and No Cents" Case "One" Cents = " and One Cent" Case Else Cents = " and " &- Cents &- Cents &- " Cents" End Select SpellNumber = Dollars &- Cents End Function Function GetHundreds( ByVal MyNumber) Dim Result As String If Val(MyNumber) = 0 Then Exit Function MyNumber = Right( "000" &- MyNumber,3) ' Μετατροπή της θέσης εκατοντάδων. If Mid(MyNumber, 1, 1) "0" Then Result = GetDigit(Mid(MyNumber, 1, 1)) & " Εκατοντάδες " End If ' Μετατροπή της θέσης δεκάδων και μιας. If Mid(MyNumber, 2, 1) "0" Then Result = Result & GetTens(Mid(MyNumber, 2)) Else Result = Result & GetDigit(Mid(MyNumber, 3)) End If GetHundreds = Result End Function Function GetTens(TensText) Dim Result As String Result = ""' Μηδενίστε την προσωρινή τιμή της συνάρτησης. If Val(Left(TensText, 1)) = 1 Then ' If value between 10-19... Select Case Val(TensText) Case 10: Result = "Ten" Case 11: Result = "Eleven" Case 12: Result = "Twelve" Case 13: Result = "Thirteen" Case 14: Result = "Fourteen" Case 15: Result = "Fifteen" Case 16: Result = "Sixteen" Case 17: Result = "Seventeen" Case 18: Result = "Eighteen" Case 19: Result ="Δεκαεννέα" Case Else End Select Else ' Αν η τιμή μεταξύ 20-99... Select Case Val(Left(TensText, 1)) Case 2: Result = "Είκοσι " Case 3: Result = "Τριάντα " Case 4: Result = "Σαράντα " Case 5: Result = "Πενήντα " Case 6: Result = "Εξήντα " Case 7: Result = "Εβδομήντα " Case 8: Result = "Ογδόντα " Case 9: Result = "Ενενήντα " Case Else End Select Result = Result & GetDigit _ (Right(TensText, 1)) ' Retrieveones place. End If GetTens = Result End Function Function GetDigit(Digit) Select Case Val(Digit) Case 1: GetDigit = "One" Case 2: GetDigit = "Two" Case 3: GetDigit = "Three" Case 4: GetDigit = "Four" Case 5: GetDigit = "Five" Case 6: GetDigit = "Six" Case 7: GetDigit = "Seven" Case 8: GetDigit = "Eight" Case 9: GetDigit = "Nine" Case Else : GetDigit = "" End Select End Function
- Πατήστε Ctrl+S για να αποθηκεύσετε το ενημερωμένο βιβλίο εργασίας.
Όταν προσπαθείτε να αποθηκεύσετε το βιβλίο εργασίας με μια μακροεντολή, θα λάβετε το μήνυμα " Τα ακόλουθα χαρακτηριστικά δεν μπορούν να αποθηκευτούν σε βιβλίο εργασίας χωρίς μακροεντολές "
Όταν εμφανιστεί ένα νέο παράθυρο διαλόγου, επιλέξτε την επιλογή Αποθήκευση ως. Στο πεδίο " Αποθήκευση ως τύπος " επιλέξτε την επιλογή " Βιβλίο εργασίας με μακροεντολές του Excel ".
Χρησιμοποιήστε τη μακροεντολή SpellNumber στα φύλλα εργασίας σας
Τώρα μπορείτε να χρησιμοποιήσετε τη συνάρτηση SpellNumber στα έγγραφα του Excel σας. =SpellNumber(A2)
στο κελί όπου πρέπει να λάβετε τον αριθμό γραμμένο σε λέξεις. Εδώ το Α2 είναι η διεύθυνση του κελιού με τον αριθμό ή το ποσό.
Εδώ μπορείτε να δείτε το αποτέλεσμα:
Voila!
Γρήγορη αντιγραφή της λειτουργίας SpellNumber σε άλλα κελιά.
Εάν πρέπει να μετατρέψετε ολόκληρο τον πίνακα και όχι μόνο 1 κελί, τοποθετήστε τον κέρσορα του ποντικιού σας στην κάτω δεξιά γωνία του κελιού με τον τύπο μέχρι να μετατραπεί σε έναν μικρό μαύρο σταυρό:
Κάντε αριστερό κλικ και σύρετέ το κατά μήκος της στήλης για να συμπληρώσετε τον τύπο. Αφήστε το κουμπί για να δείτε τα αποτελέσματα:
Σημείωση. Λάβετε υπόψη ότι εάν χρησιμοποιείτε το SpellNumber με σύνδεση σε άλλο κελί, το γραπτό άθροισμα θα ενημερώνεται κάθε φορά που αλλάζει ο αριθμός στο κελί προέλευσης.
Μπορείτε επίσης να εισαγάγετε τον αριθμό απευθείας στη συνάρτηση, για παράδειγμα, =SpellNumber(29.95)
(29,95 - χωρίς εισαγωγικά και το σύμβολο του δολαρίου).
Μειονεκτήματα της χρήσης μακροεντολών για την ορθογραφία αριθμών στο Excel
Πρώτα απ' όλα, πρέπει να γνωρίζετε VBA για να τροποποιήσετε τον κώδικα σύμφωνα με τις ανάγκες σας. Είναι απαραίτητο να επικολλήσετε τον κώδικα για κάθε βιβλίο εργασίας, όπου σκοπεύετε να τον αλλάξετε. Διαφορετικά, θα πρέπει να δημιουργήσετε ένα πρότυπο αρχείο με μακροεντολές και να ρυθμίσετε το Excel να φορτώνει αυτό το αρχείο σε κάθε εκκίνηση.
Το κύριο μειονέκτημα της χρήσης μιας μακροεντολής είναι ότι αν στείλετε το βιβλίο εργασίας σε κάποιον άλλον, το άτομο αυτό δεν θα δει το κείμενο, εκτός αν η μακροεντολή είναι ενσωματωμένη στο βιβλίο εργασίας. Και ακόμη και αν είναι ενσωματωμένη, θα λάβει μια ειδοποίηση ότι υπάρχουν μακροεντολές στο βιβλίο εργασίας.
Συλλαβίστε αριθμούς σε λέξεις χρησιμοποιώντας ένα ειδικό πρόσθετο
Για τους χρήστες του Excel που χρειάζονται να συλλαβίσουν γρήγορα ποσά αλλά δεν έχουν χρόνο να μάθουν VBA ή να βρουν λύσεις, δημιουργήσαμε ένα ειδικό εργαλείο που μπορεί να εκτελέσει γρήγορα τη μετατροπή ποσού σε λέξεις για μερικά δημοφιλή νομίσματα. Γνωρίστε το πρόσθετο Spell Number που περιλαμβάνεται στην τελευταία έκδοση της Ultimate Suite for Excel.
Εκτός του ότι είναι έτοιμο προς χρήση, το εργαλείο είναι πραγματικά ευέλικτο στη μετατροπή ποσών σε κείμενο:
- Μπορείτε να επιλέξετε ένα από τα ακόλουθα νομίσματα: USD, EUR, GBP, BIT, AUD.
- Ονομάστε το κλασματικό μέρος σε σεντς, πένες ή bitcents.
- Επιλέξτε οποιαδήποτε περίπτωση κειμένου για το αποτέλεσμα: πεζά γράμματα, ΠΑΝΩ ΠΕΡΙΠΤΩΣΗ, Περίπτωση τίτλου ή Περίπτωση πρότασης.
- Συλλαβίστε το δεκαδικό μέρος με διαφορετικούς τρόπους.
- Συμπεριλάβετε ή παραλείψτε μηδέν λεπτά.
Το πρόσθετο υποστηρίζει όλες τις σύγχρονες εκδόσεις, συμπεριλαμβανομένων των Excel 365, Excel 2029, Excel 2016, Excel 2013 και Excel 2010. Μη διστάσετε να εξερευνήσετε άλλες δυνατότητες στην αρχική σελίδα του προϊόντος που συνδέεται παραπάνω.
Και τώρα, ας δούμε αυτό το βοηθητικό πρόγραμμα ορθογραφίας αριθμών σε δράση:
- Επιλέξτε ένα κενό κελί για το αποτέλεσμα.
- Στο Ablebits στην καρτέλα Υπηρεσίες κοινής ωφέλειας ομάδα, κάντε κλικ στο Αριθμός ξόρκι .
- Στο Αριθμός διαρροής παράθυρο διαλόγου που εμφανίζεται, ρυθμίστε τα εξής:
- Για το Επιλέξτε τον αριθμό σας επιλέξτε το κελί που περιέχει το ποσό που θέλετε να γραφτεί ως κείμενο.
- Καθορίστε το επιθυμητό επί του παρόντος , περίπτωση γράμματος και τον τρόπο με τον οποίο η δεκαδικό μέρος του αριθμού πρέπει να είναι ορθογραφημένο.
- Ορίστε αν θα συμπεριλάβετε μηδενικά σεντς ή όχι.
- Επιλέξτε αν θα εισαχθεί το αποτέλεσμα ως τιμή ή ως τύπος.
- Στο κάτω μέρος του παραθύρου διαλόγου, προεπισκόπηση Εάν είστε ικανοποιημένοι με τον τρόπο που γράφεται ο αριθμός σας, κάντε κλικ στο κουμπί Ξόρκι . Διαφορετικά, δοκιμάστε διαφορετικές ρυθμίσεις.
Το παρακάτω στιγμιότυπο οθόνης δείχνει τις προεπιλεγμένες επιλογές και τον ορθογραφημένο αριθμό στο Β2. Παρατηρήστε έναν τύπο (ακριβέστερα, μια συνάρτηση που έχει οριστεί από το χρήστη) στη γραμμή τύπων:
Και αυτή είναι μια γρήγορη επίδειξη του πώς μπορούν να διευκρινιστούν άλλα νομίσματα:
Συμβουλές και σημειώσεις:
- Επειδή η Αριθμός ξόρκι add-in σχεδιάστηκε για να χειρίζεται πραγματικές περιπτώσεις χρήσης, όπως τιμολόγια και άλλα οικονομικά έγγραφα, μπορεί να μετατρέψει μόνο ένας αριθμός κάθε φορά.
- Για να γράψετε ένα στήλη αριθμών , εισάγετε έναν τύπο στο πρώτο κελί και, στη συνέχεια, αντιγράψτε τον τύπο προς τα κάτω.
- Εάν υπάρχει πιθανότητα τα δεδομένα της πηγής σας να αλλάξουν στο μέλλον, είναι καλύτερο να εισάγετε το αποτέλεσμα ως τύπο , έτσι ώστε να ενημερώνεται αυτόματα καθώς αλλάζει ο αρχικός αριθμός.
- Όταν επιλέγετε το αποτέλεσμα ως τύπος επιλογή, μια προσαρμοσμένη συνάρτηση που ορίζεται από το χρήστη (Αν σκοπεύετε να μοιραστείτε το βιβλίο εργασίας σας με κάποιον που δεν έχει εγκατεστημένη την Ultimate Suite, θυμηθείτε να αντικαταστήσετε τους τύπους με τιμές πριν από την κοινή χρήση.
Αντίστροφη μετατροπή - Αγγλικές λέξεις σε αριθμούς
Ειλικρινά, δεν μπορώ να φανταστώ γιατί μπορεί να το χρειάζεστε. Για κάθε περίπτωση... :)
Φαίνεται ότι ο MVP του Excel, Jerry Latham, δημιούργησε μια τέτοια συνάρτηση του Excel User defined function (UDF) όπως WordsToDigits . Μετατρέπει τις αγγλικές λέξεις σε αριθμούς.
Μπορείτε να κατεβάσετε το βιβλίο εργασίας WordsToDigits του Jerry για να δείτε τον κώδικα της UDF. Εδώ θα βρείτε επίσης τα παραδείγματά του για τον τρόπο χρήσης της συνάρτησης.
Μπορείτε να δείτε πώς λειτουργεί η λειτουργία στο φύλλο " Δείγμα καταχωρήσεων "Αν σκοπεύετε να χρησιμοποιήσετε το WordsToDigits στα έγγραφά σας, σας ενημερώνουμε ότι η λειτουργία αυτή έχει περιορισμούς. Για παράδειγμα, δεν αναγνωρίζει τα κλάσματα που εισάγονται σε λέξεις. Θα βρείτε όλες τις λεπτομέρειες στο " Πληροφορίες " φύλλο.