Πώς να μετατρέψετε γρήγορα αριθμούς σε αγγλικές λέξεις στο Excel;
Εάν έχετε μια στήλη αριθμητικών τιμών σε ένα φύλλο εργασίας και τώρα πρέπει να τις αντιστοιχίσετε με τις αντίστοιχες λέξεις αγγλικής ή αγγλικής νομίσματος όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης. Εδώ θα μιλήσω για το πώς να αλλάζω τους αριθμούς σε αγγλικές λέξεις γρήγορα και εύκολα.
Μετατροπή αριθμών σε αγγλικές λέξεις με λειτουργία που καθορίζεται από το χρήστη
Μετατροπή αριθμών σε λέξεις νομίσματος με τη λειτουργία που καθορίζεται από το χρήστη
Μετατροπή αριθμών σε λέξεις νομίσματος με μια χρήσιμη λειτουργία
Μετατροπή αριθμών σε αγγλικές λέξεις με λειτουργία που καθορίζεται από το χρήστη
Δεν υπάρχουν δυνατότητες ή τύποι που μπορούν να σας βοηθήσουν να επιλύσετε αυτήν την εργασία απευθείας στο Excel, αλλά μπορείτε να δημιουργήσετε μια συνάρτηση καθορισμένη από το χρήστη για να την ολοκληρώσετε. Κάντε τα παρακάτω βήματα:
1. Κρατήστε πατημένο το ALT + F11 και ανοίγει το Παράθυρο Microsoft Visual Basic for Applications.
2. Κλίκ Κύριο θέμα > Μονάδα μέτρησηςκαι επικολλήστε τον ακόλουθο κώδικα στο Παράθυρο ενότητας.
Function NumberstoWords(ByVal MyNumber)
'Update by Extendoffice
Dim xStr As String
Dim xFNum As Integer
Dim xStrPoint
Dim xStrNumber
Dim xPoint As String
Dim xNumber As String
Dim xP() As Variant
Dim xDP
Dim xCnt As Integer
Dim xResult, xT As String
Dim xLen As Integer
On Error Resume Next
xP = Array("", "Thousand ", "Million ", "Billion ", "Trillion ", " ", " ", " ", " ")
xNumber = Trim(Str(MyNumber))
xDP = InStr(xNumber, ".")
xPoint = ""
xStrNumber = ""
If xDP > 0 Then
xPoint = " point "
xStr = Mid(xNumber, xDP + 1)
xStrPoint = Left(xStr, Len(xNumber) - xDP)
For xFNum = 1 To Len(xStrPoint)
xStr = Mid(xStrPoint, xFNum, 1)
xPoint = xPoint & GetDigits(xStr) & " "
Next xFNum
xNumber = Trim(Left(xNumber, xDP - 1))
End If
xCnt = 0
xResult = ""
xT = ""
xLen = 0
xLen = Int(Len(Str(xNumber)) / 3)
If (Len(Str(xNumber)) Mod 3) = 0 Then xLen = xLen - 1
Do While xNumber <> ""
If xLen = xCnt Then
xT = GetHundredsDigits(Right(xNumber, 3), False)
Else
If xCnt = 0 Then
xT = GetHundredsDigits(Right(xNumber, 3), True)
Else
xT = GetHundredsDigits(Right(xNumber, 3), False)
End If
End If
If xT <> "" Then
xResult = xT & xP(xCnt) & xResult
End If
If Len(xNumber) > 3 Then
xNumber = Left(xNumber, Len(xNumber) - 3)
Else
xNumber = ""
End If
xCnt = xCnt + 1
Loop
xResult = xResult & xPoint
NumberstoWords = xResult
End Function
Function GetHundredsDigits(xHDgt, xB As Boolean)
Dim xRStr As String
Dim xStrNum As String
Dim xStr As String
Dim xI As Integer
Dim xBB As Boolean
xStrNum = xHDgt
xRStr = ""
On Error Resume Next
xBB = True
If Val(xStrNum) = 0 Then Exit Function
xStrNum = Right("000" & xStrNum, 3)
xStr = Mid(xStrNum, 1, 1)
If xStr <> "0" Then
xRStr = GetDigits(Mid(xStrNum, 1, 1)) & "Hundred "
Else
If xB Then
xRStr = "and "
xBB = False
Else
xRStr = " "
xBB = False
End If
End If
If Mid(xStrNum, 2, 2) <> "00" Then
xRStr = xRStr & GetTenDigits(Mid(xStrNum, 2, 2), xBB)
End If
GetHundredsDigits = xRStr
End Function
Function GetTenDigits(xTDgt, xB As Boolean)
Dim xStr As String
Dim xI As Integer
Dim xArr_1() As Variant
Dim xArr_2() As Variant
Dim xT As Boolean
xArr_1 = Array("Ten ", "Eleven ", "Twelve ", "Thirteen ", "Fourteen ", "Fifteen ", "Sixteen ", "Seventeen ", "Eighteen ", "Nineteen ")
xArr_2 = Array("", "", "Twenty ", "Thirty ", "Forty ", "Fifty ", "Sixty ", "Seventy ", "Eighty ", "Ninety ")
xStr = ""
xT = True
On Error Resume Next
If Val(Left(xTDgt, 1)) = 1 Then
xI = Val(Right(xTDgt, 1))
If xB Then xStr = "and "
xStr = xStr & xArr_1(xI)
Else
xI = Val(Left(xTDgt, 1))
If Val(Left(xTDgt, 1)) > 1 Then
If xB Then xStr = "and "
xStr = xStr & xArr_2(Val(Left(xTDgt, 1)))
xT = False
End If
If xStr = "" Then
If xB Then
xStr = "and "
End If
End If
If Right(xTDgt, 1) <> "0" Then
xStr = xStr & GetDigits(Right(xTDgt, 1))
End If
End If
GetTenDigits = xStr
End Function
Function GetDigits(xDgt)
Dim xStr As String
Dim xArr_1() As Variant
xArr_1 = Array("Zero ", "One ", "Two ", "Three ", "Four ", "Five ", "Six ", "Seven ", "Eight ", "Nine ")
xStr = ""
On Error Resume Next
xStr = xArr_1(Val(xDgt))
GetDigits = xStr
End Function
3. Αποθηκεύστε και κλείστε αυτόν τον κωδικό και επιστρέψτε το φύλλο εργασίας, σε ένα κενό κελί, εισαγάγετε αυτόν τον τύπο = NumberstoWords (Α2)( A2 είναι το κελί που θέλετε να μετατρέψετε τον αριθμό σε αγγλική λέξη), δείτε το στιγμιότυπο οθόνης:
4. Στη συνέχεια πατήστε εισάγετε και επιλέξτε το κελί C2 και μετά σύρετε τη λαβή πλήρωσης στο εύρος που θέλετε να περιέχει αυτόν τον τύπο. Όλες οι αριθμητικές τιμές έχουν μετατραπεί στις αντίστοιχες αγγλικές λέξεις.
Note: Αυτός ο κωδικός λειτουργεί μόνο για ακέραιους αριθμούς, αλλά δεν ισχύει για τους δεκαδικούς αριθμούς.
Μετατροπή αριθμών σε λέξεις νομίσματος με τη λειτουργία που καθορίζεται από το χρήστη
Εάν θέλετε να μετατρέψετε τους αριθμούς σε λέξεις αγγλικού νομίσματος, θα πρέπει να εφαρμόσετε τον παρακάτω κωδικό VBA.
1. Κρατήστε πατημένο το ALT + F11 και ανοίγει το Παράθυρο Microsoft Visual Basic for Applications.
2. Κλίκ Κύριο θέμα > Μονάδα μέτρησηςκαι επικολλήστε τον ακόλουθο κώδικα στο Παράθυρο ενότητας.
Function SpellNumberToEnglish(ByVal pNumber)
'Update by Extendoffice
Dim Dollars, Cents
arr = Array("", "", " Thousand ", " Million ", " Billion ", " Trillion ")
pNumber = Trim(Str(pNumber))
xDecimal = InStr(pNumber, ".")
If xDecimal > 0 Then
Cents = GetTens(Left(Mid(pNumber, xDecimal + 1) & "00", 2))
pNumber = Trim(Left(pNumber, xDecimal - 1))
End If
xIndex = 1
Do While pNumber <> ""
xHundred = ""
xValue = Right(pNumber, 3)
If Val(xValue) <> 0 Then
xValue = Right("000" & xValue, 3)
If Mid(xValue, 1, 1) <> "0" Then
xHundred = GetDigit(Mid(xValue, 1, 1)) & " Hundred "
End If
If Mid(xValue, 2, 1) <> "0" Then
xHundred = xHundred & GetTens(Mid(xValue, 2))
Else
xHundred = xHundred & GetDigit(Mid(xValue, 3))
End If
End If
If xHundred <> "" Then
Dollars = xHundred & arr(xIndex) & Dollars
End If
If Len(pNumber) > 3 Then
pNumber = Left(pNumber, Len(pNumber) - 3)
Else
pNumber = ""
End If
xIndex = xIndex + 1
Loop
Select Case Dollars
Case ""
Dollars = "No Dollars"
Case "One"
Dollars = "One Dollar"
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"
End Select
SpellNumberToEnglish = Dollars & Cents
End Function
Function GetTens(pTens)
Dim Result As String
Result = ""
If Val(Left(pTens, 1)) = 1 Then
Select Case Val(pTens)
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
Select Case Val(Left(pTens, 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(pTens, 1))
End If
GetTens = Result
End Function
Function GetDigit(pDigit)
Select Case Val(pDigit)
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
3. Αποθηκεύστε αυτόν τον κωδικό και επιστρέψτε το φύλλο εργασίας, σε ένα κενό κελί, εισαγάγετε αυτόν τον τύπο = SpellNumberToEnglish (Α2)( A2 είναι το κελί που θέλετε να μετατρέψετε τον αριθμό σε λέξη σε αγγλικό νόμισμα) και, στη συνέχεια, σύρετε τη λαβή πλήρωσης προς τα κάτω στα κελιά που θέλετε να εφαρμόσετε αυτόν τον τύπο, όλοι οι αριθμοί έχουν διατυπωθεί σε λέξεις αγγλικού νομίσματος, δείτε το στιγμιότυπο οθόνης:
Μετατροπή αριθμών σε λέξεις νομίσματος με μια χρήσιμη λειτουργία
Ο παραπάνω κώδικας είναι κάπως ενοχλητικός για αρχάριους του Excel, εδώ, θα παρουσιάσω μια χρήσιμη λειτουργία, Kutools για Excel's Αριθμοί σε λέξεις, με αυτό το βοηθητικό πρόγραμμα, μπορείτε να γράψετε γρήγορα τους αριθμούς σε αγγλικές λέξεις ή νομισματικές λέξεις.
Συμβουλές:Για να το εφαρμόσετε Αριθμοί σε λέξεις χαρακτηριστικό, πρώτα, πρέπει να κατεβάσετε το Kutools για Excelκαι, στη συνέχεια, εφαρμόστε τη λειτουργία γρήγορα και εύκολα.
Μετά την εγκατάσταση Kutools για Excel, κάντε το ως εξής:
1. Επιλέξτε τη λίστα των αριθμών που θέλετε να μετατρέψετε και, στη συνέχεια, κάντε κλικ στο Kutools > Περιεχόμενο > Αριθμοί σε λέξεις, δείτε το στιγμιότυπο οθόνης:
2. Στην Αριθμοί σε λέξεις νομίσματος πλαίσιο διαλόγου, επιλέξτε Αγγλικά Επιλογή από το Γλώσσες πλαίσιο λίστας και, στη συνέχεια, κάντε κλικ στο Ok κουμπί, θα δείτε ότι όλοι οι αριθμοί έχουν διατυπωθεί σε αγγλικές νομισματικές λέξεις:
Συμβουλές: Εάν θέλετε να λάβετε τις αγγλικές λέξεις, ελέγξτε το Δεν μετατράπηκε σε Νόμισμα πλαίσιο ελέγχου από το Επιλογές ενότητα, δείτε στιγμιότυπα οθόνης:
Κάντε κλικ για λήψη του Kutools για Excel και δωρεάν δοκιμή τώρα!
Τα καλύτερα εργαλεία παραγωγικότητας γραφείου
Αυξήστε τις δεξιότητές σας στο Excel με τα Kutools για Excel και απολαύστε την αποτελεσματικότητα όπως ποτέ πριν. Το Kutools για Excel προσφέρει πάνω από 300 προηγμένες δυνατότητες για την ενίσχυση της παραγωγικότητας και την εξοικονόμηση χρόνου. Κάντε κλικ εδώ για να αποκτήσετε τη δυνατότητα που χρειάζεστε περισσότερο...
Το Office Tab φέρνει τη διεπαφή με καρτέλες στο Office και κάνει την εργασία σας πολύ πιο εύκολη
- Ενεργοποίηση επεξεργασίας και ανάγνωσης καρτελών σε Word, Excel, PowerPoint, Publisher, Access, Visio και Project.
- Ανοίξτε και δημιουργήστε πολλά έγγραφα σε νέες καρτέλες του ίδιου παραθύρου και όχι σε νέα παράθυρα.
- Αυξάνει την παραγωγικότητά σας κατά 50% και μειώνει εκατοντάδες κλικ του ποντικιού για εσάς κάθε μέρα!