Jak przeliterować lub przekonwertować liczby na angielskie słowa w programie Excel?
Przypuśćmy, że masz wiele liczb kwot cen, a teraz musisz je przekonwertować lub przeliterować na ciągi tekstowe. Na przykład Convert $123.55 do słów angielskich sto dwadzieścia trzy dolary i pięćdziesiąt pięć centów. W programie Excel nie ma skutecznego narzędzia do rozwiązania tego problemu, ale za pomocą długiego i złożonego kodu VBA. W tym artykule przedstawię kilka metod radzenia sobie z tym problemem.
Przeliteruj lub konwertuj liczby na angielskie słowa za pomocą kodu VBA
Przeliteruj lub konwertuj liczby na angielskie słowa za pomocą Kutools for Excel
Przeliteruj lub konwertuj liczby na angielskie słowa za pomocą kodu VBA
Poniższy długi kod VBA może pomóc w przeliterowaniu liczb na ciągi tekstowe. Wykonaj następujące czynności:
1. Przytrzymaj ALT + F11 klucze i otwiera plik Microsoft Visual Basic for Applications okno.
2. Kliknij wstawka > Modułi wklej następujące makro w Okno modułu.
VBA: przeliteruj liczby walut na angielskie słowa w programie Excel
Function SpellNumberToEnglish(ByVal pNumber)
'Updateby20131113
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. Następnie zapisz kod i wróć do arkusza roboczego, w sąsiedniej komórce B2 wprowadź formułę = SpellNumberToEnglish (A1)zobacz zrzut ekranu:
4. Następnie naciśnij Wchodzę i wybierz komórkę B2, a następnie przeciągnij uchwyt wypełniania do zakresu zawierającego tę formułę, zgodnie z potrzebami. Wszystkie liczby walut zostały przeliterowane na angielskie słowa. Zobacz zrzut ekranu:
Note: Ponieważ są to formuły, jeśli chcesz je skopiować i wkleić, wklej je jako wartości.
Przeliteruj lub konwertuj liczby na angielskie słowa za pomocą Kutools for Excel
Może powyższy długi kod może cię wkurzyć, nie martw się, tutaj mogę ci dać łatwy i szybki sposób rozwiązania tego problemu. Dzięki Kutools dla programu Excel'S Liczby na słowa możesz szybko i wygodnie konwertować liczby na ciągi tekstowe.
Kutools dla programu Excel- Zawiera ponad 300 przydatnych narzędzi dla programu Excel. Pełna wersja bezpłatna 30-dniowa, bez karty kredytowej! Zdobądź To Teraz
1. Wybierz zakresy liczb, które chcesz przeliterować, i kliknij Kutools > Treść > Liczby na słowa.
2. W wyskakującym oknie dialogowym wybierz Angielski z Języki. Wyniki można wyświetlić po prawej stronie Podgląd Szkło. Zobacz zrzut ekranu:
3. Następnie kliknij Ok or Aplikuj. Wszystkie liczby kwot ceny zostały przekonwertowane na ciągi tekstowe w oryginalnym zakresie.
Note: Jeśli chcesz tylko przeliczyć liczby na angielskie słowa (nie walutę), sprawdź Nie przeliczono na walutę checkbox.
Ta fantastyczna funkcja Liczby na słowa może łatwo przetłumaczyć liczby walut na tekst waluty w języku angielskim lub chińskim, na przykład przetłumaczyć 32.01 na „Trzydzieści dwa dolary i jeden cent” lub „叁拾 贰元 零 壹 分”. Bezpłatna wersja próbna!
Demo: Przeliteruj liczby walut na angielskie słowa
Najlepsze narzędzia biurowe
Zwiększ swoje umiejętności Excela dzięki Kutools for Excel i doświadcz wydajności jak nigdy dotąd. Kutools dla programu Excel oferuje ponad 300 zaawansowanych funkcji zwiększających produktywność i oszczędzających czas. Kliknij tutaj, aby uzyskać funkcję, której najbardziej potrzebujesz...
Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę
- Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
- Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
- Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!