Μετατροπή αριθμών σε λέξεις

Το Excel 2013 και το Excel 2016 δεν διαθέτουν κάποια προεπιλεγμένη συνάρτηση που να εμφανίζει τους αριθμούς ως αγγλικές λέξεις σε ένα κελί υπολογιστικού φύλλου, όμως, μπορείτε να προσθέσετε αυτή τη δυνατότητα με επικόλληση του κώδικα συνάρτησης SpellNumber σε ένα φύλλο λειτουργικής μονάδας. Αυτή η συνάρτηση σάς επιτρέπει να μετατρέπετε σε λέξεις τα ποσά σε δολάρια και σεντ.

Εάν θέλετε να μετατρέψετε τις αριθμητικές τιμές σε μορφή κειμένου χωρίς την εμφάνισή τους με τη μορφή λέξεων, αντί για αυτό, χρησιμοποιήστε τη συνάρτηση TEXT.

Σε αυτό το άρθρο

Δημιουργία συνάρτησης SpellNumber για τη μετατροπή αριθμών σε λέξεις

  1. Χρησιμοποιήστε τη συντόμευση πληκτρολογίου Alt + F11 για να ανοίξετε την Επεξεργασία της Visual Basic.

    Σημείωση: Μπορείτε επίσης να αποκτήσετε πρόσβαση στην Επεξεργασία της Visual Basic, εμφανίζοντας την καρτέλα "Προγραμματιστής" στην κορδέλα.

  2. Κάντε κλικ στην καρτέλα Insert και, στη συνέχεια, επιλέξτε Module.

    Στο μενού "Εισαγωγή", κάντε κλικ στην επιλογή "Λειτουργική μονάδα".
  3. Αντιγράψτε τις παρακάτω γραμμές κώδικα.

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

    Option Explicit

    'Κύρια συνάρτηση

    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))

    ' Θέση της υποδιαστολής 0 εάν δεν υπάρχει.

    DecimalPlace = InStr(MyNumber, ".")

    ' Μετατροπή των σεντ και ορισμός της 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 = "One Dollar"

    Case Else

    Dollars = Dollars & " Δολάρια"

    End Select

    Select Case Cents

    Case ""

    Cents = " and No Cents"

    Case "One"

    Cents = " and One Cent"

    Case Else

    Cents = " and " & Cents & " Cents"

    End Select

    SpellNumber = Dollars & Cents

    End Function

    ' Μετατρέπει σε κείμενο έναν αριθμό από 100-999

    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)) & " Hundred "

    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

    ' Μετατρέπει έναν αριθμό από το 10 έως το 99 σε κείμενο.

    Function GetTens(TensText)

    Dim Result As String

    Result = "" ' Μηδενισμός της προσωρινής τιμής της συνάρτησης.

    If Val(Left(TensText, 1)) = 1 Then ' Εάν η τιμή είναι μεταξύ 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 = "Nineteen"

    Case Else

    End Select

    Else ' Εάν η τιμή είναι μεταξύ 20-99...

    Select Case Val(Left(TensText, 1))

    Case 2: Result = "Twenty "

    Case 3: Result = "Thirty "

    Case 4: Result = "Forty "

    Case 5: Result = "Fifty "

    Case 6: Result = "Sixty "

    Case 7: Result = "Seventy "

    Case 8: Result = "Eighty "

    Case 9: Result = "Ninety "

    Case Else

    End Select

    Result = Result & GetDigit _

    (Right(TensText, 1)) ' Ανακτά τη θέση των μονάδων.

    End If

    GetTens = Result

    End Function

    ' Μετατρέπει σε κείμενο έναν αριθμό από 1 έως 9.

    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

  4. Επικολλήστε τις γραμμές του κώδικα στο πλαίσιο Module1 (Code).

    Κώδικας που έχει επικολληθεί στο πλαίσιο Λειτουργική μονάδα1 (Κώδικας).
  5. Κάντε κλικ στην επιλογή File και έπειτα κάντε κλικ στο κουμπί Close and Return to Microsoft Excel. Η συνάρτηση SpellNumber τώρα είναι έτοιμη για χρήση.

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

Αρχή της σελίδας

Χρήση της συνάρτησης SpellNumber σε μεμονωμένα κελιά

  1. Πληκτρολογήστε τον τύπο = SpellNumber(τιμή) στο κελί όπου θέλετε να εμφανίσετε έναν γραπτό αριθμό, αντικαθιστώντας το στοιχείο τιμή με τον αριθμό της επιλογής.

  2. Στο πληκτρολόγιό σας, πατήστε Enter.

    Για παράδειγμα, εάν πληκτρολογήσετε =SpellNumber(22,50), στο κελί θα διαβάσετε τη φράση Twenty-Two Dollars and Fifty Cents.

    Συμβουλή: Για να μετατρέψετε αριθμούς σε κείμενο σε ένα ξεχωριστό κελί, αντικαταστήστε την αριθμητική τιμή με μια αναφορά κελιού στον τύπο SpellNumber. Για παράδειγμα, πληκτρολογήστε =SpellNumber(A1) για να εμφανίσετε μια γραπτή τιμή στο κελί A1.

Αρχή της σελίδας

Αποθήκευση του βιβλίου εργασίας της συνάρτησης SpellNumber

Το Excel δεν είναι δυνατό να αποθηκεύσει ένα βιβλίο εργασίας με συναρτήσεις μακροεντολών στην τυπική μορφή βιβλίου εργασίας χωρίς δυνατότητα μακροεντολών. Εάν κάνετε κλικ στα στοιχεία Αρχείο > Αποθήκευση. Ανοίγει το παράθυρο διαλόγου VB project. Κάντε κλικ στο κουμπί No.

Στο παράθυρο διαλόγου του έργου VB, κάντε κλικ στην επιλογή "Όχι".

Μπορείτε να αποθηκεύσετε το αρχείο σας ως ένα Πρότυπο του Excel με δυνατότητα μακροεντολών για να το διατηρήσετε στην τρέχουσα μορφή.

  1. Κάντε κλικ στα στοιχεία Αρχείο > Αποθήκευση ως.

  2. Κάντε κλικ στο αναπτυσσόμενο μενού Αποθήκευση ως τύπου και επιλέξτε Excel Macro-Enabled Template.

    Επιλέξτε "Πρότυπο του Excel με δυνατότητα μακροεντολών".
  3. Κάντε κλικ στο κουμπί Αποθήκευση.

Αρχή της σελίδας

Δείτε επίσης

Συνάρτηση TEXT

Αναπτύξτε τις δεξιότητές σας στο Office
Εξερευνήστε το περιεχόμενο της εκπαίδευσης
Αποκτήστε πρώτοι τις νέες δυνατότητες
Γίνετε μέλος του Office Insider

Σας βοήθησαν αυτές οι πληροφορίες;

Σας ευχαριστούμε για τα σχόλιά σας!

Σας ευχαριστούμε για τα σχόλιά σας! Φαίνεται ότι μπορεί να είναι χρήσιμο να συνδεθείτε με έναν από τους συνεργάτες υποστήριξης του Office.

×