Note: The other languages of the website are Google-translated. Back to English

Jak szybko przekonwertować liczby na angielskie słowa w programie Excel?

Jeśli masz kolumnę wartości liczbowych w arkuszu, a teraz musisz przekonwertować je na odpowiadające im angielskie słowa lub angielskie słowa walutowe, jak pokazano na zrzucie ekranu. Tutaj opowiem o tym, jak szybko i łatwo zmienić liczby na angielskie słowa.

Konwertuj liczby na angielskie słowa za pomocą funkcji zdefiniowanej przez użytkownika

Konwertuj liczby na słowa walutowe za pomocą funkcji zdefiniowanej przez użytkownika

Konwertuj liczby na słowa walutowe za pomocą przydatnej funkcji


Konwertuj liczby na angielskie słowa za pomocą funkcji zdefiniowanej przez użytkownika

Nie ma żadnych funkcji ani formuł, które mogłyby pomóc w rozwiązaniu tego zadania bezpośrednio w programie Excel, ale można utworzyć funkcję zdefiniowaną przez użytkownika, aby ją zakończyć. Wykonaj następujące czynności:

1. Przytrzymaj przycisk ALT + F11 klucze i otwiera plik Okno Microsoft Visual Basic for Applications.

2, Kliknij wstawka > Modułi wklej następujący kod w Okno modułu.

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. Zapisz i zamknij ten kod i wróć do arkusza roboczego, w pustej komórce wprowadź tę formułę = Liczba do słów (A2)( A2 to komórka, którą chcesz przekonwertować na angielskie słowo), zobacz zrzut ekranu:

4. Następnie naciśnij Wchodzę i wybierz komórkę C2, a następnie przeciągnij uchwyt wypełniania do zakresu, w którym chcesz zawrzeć tę formułę. Wszystkie wartości liczbowe zostały przekonwertowane na odpowiadające im angielskie słowa.

Uwagi: Ten kod działa tylko dla liczb całkowitych, ale nie ma zastosowania do liczb dziesiętnych.


Konwertuj liczby na słowa walutowe za pomocą funkcji zdefiniowanej przez użytkownika

Jeśli chcesz przekonwertować liczby na angielskie słowa walutowe, zastosuj poniższy kod VBA.

1. Przytrzymaj przycisk ALT + F11 klucze i otwiera plik Okno Microsoft Visual Basic for Applications.

2, Kliknij wstawka > Modułi wklej następujący kod w Okno modułu.

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. Zapisz ten kod i wróć do arkusza roboczego, w pustej komórce wprowadź tę formułę = SpellNumberToEnglish (A2)( A2 to komórka, którą chcesz przekonwertować na angielskie słowo walutowe), a następnie przeciągnij uchwyt wypełniania w dół do komórek, do których chcesz zastosować tę formułę, wszystkie liczby zostały przeliterowane na angielskie słowa walutowe, patrz zrzut ekranu:


Konwertuj liczby na słowa walutowe za pomocą przydatnej funkcji

Powyższy kod jest nieco kłopotliwy dla początkujących użytkowników Excela, tutaj przedstawię przydatną funkcję, Kutools dla programu Excel's Liczby na słowa, dzięki temu narzędziu możesz szybko przeliterować liczby na angielskie słowa lub słowa walutowe.

Porady:Aby to zastosować Liczby na słowa Po pierwsze, należy pobrać plik Kutools dla programu Excel, a następnie szybko i łatwo zastosuj tę funkcję.

Po zainstalowaniu Kutools dla programu Excel, zrób tak:

1. Wybierz listę liczb, które chcesz przekonwertować, a następnie kliknij Kutools > Treść > Liczby na słowazobacz zrzut ekranu:

2, w Liczby na słowa walutowe okno dialogowe, zaznacz angielsku opcja z Języki listę, a następnie kliknij Ok przycisk, zobaczysz, że wszystkie liczby zostały przeliterowane na angielskie słowa walutowe:

Wskazówki: Jeśli chcesz poznać angielskie słowa, sprawdź Nie przeliczono na walutę pole wyboru z Opcje sekcja, zobacz zrzuty ekranu:

Kliknij, aby pobrać Kutools dla programu Excel i bezpłatną wersję próbną teraz!


Najlepsze narzędzia biurowe

Kutools dla programu Excel rozwiązuje większość problemów i zwiększa produktywność o 80%

  • Ponowne użycie: Szybko włóż złożone wzory, wykresy i wszystko, czego używałeś wcześniej; Szyfruj komórki z hasłem; Utwórz listę mailingową i wysyłaj e-maile ...
  • Pasek Super Formula (łatwo edytować wiele wierszy tekstu i formuły); Układ do czytania (łatwe odczytywanie i edytowanie dużej liczby komórek); Wklej do filtrowanego zakresu...
  • Scal komórki / wiersze / kolumny bez utraty danych; Podziel zawartość komórek; Połącz zduplikowane wiersze / kolumny... Zapobiegaj zduplikowanym komórkom; Porównaj zakresy...
  • Wybierz Duplikat lub Unikalny Wydziwianie; Wybierz puste wiersze (wszystkie komórki są puste); Super Find i Fuzzy Find w wielu zeszytach ćwiczeń; Losowy wybór ...
  • Dokładna kopia Wiele komórek bez zmiany odwołania do formuły; Automatyczne tworzenie odniesień do wielu arkuszy; Wstaw punktory, Pola wyboru i nie tylko ...
  • Wyodrębnij tekst, Dodaj tekst, Usuń według pozycji, Usuń przestrzeń; Tworzenie i drukowanie podsumowań stronicowania; Konwertuj zawartość komórek i komentarze...
  • Super filtr (zapisz i zastosuj schematy filtrów do innych arkuszy); Zaawansowane sortowanie według miesiąca / tygodnia / dnia, częstotliwości i innych; Specjalny filtr pogrubieniem, kursywą ...
  • Połącz skoroszyty i arkusze robocze; Scal tabele na podstawie kluczowych kolumn; Podziel dane na wiele arkuszy; Konwersja wsadowa xls, xlsx i PDF...
  • Ponad 300 zaawansowanych funkcji. Obsługuje Office / Excel 2007-2021 i 365. Obsługuje wszystkie języki. Łatwe wdrażanie w przedsiębiorstwie lub organizacji. Pełne funkcje 30-dniowa bezpłatna wersja próbna. 60-dniowa gwarancja zwrotu pieniędzy.
karta kte 201905

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!
officetab dół
Sortuj komentarze według
Komentarze (62)
Brak ocen. Oceń jako pierwszy!
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć dzień dobryCześć.. Dzień dobry.. Miło cię poznać.
Ten komentarz został zminimalizowany przez moderatora na stronie
ten kod nie działa
Ten komentarz został zminimalizowany przez moderatora na stronie
Proszę pana, jak mogę przekonwertować liczby na słowa z ostatnim słowem „Tylko”?
Ten komentarz został zminimalizowany przez moderatora na stronie
problem rozwiązany?????
Ten komentarz został zminimalizowany przez moderatora na stronie
Musisz dodać jeszcze jedną dodatkową formułę w innej kolumnie
="Rs."&""&F6&"Tylko"&"."
Ten komentarz został zminimalizowany przez moderatora na stronie
co powiesz na to, że liczba ma (.) jak 150.75 lub 3.35? proszę o pomoc Dzięki...
Ten komentarz został zminimalizowany przez moderatora na stronie
Dziękuję za życzliwe wsparcie przy tworzeniu formuły. Czy możesz nam powiedzieć, czy musimy dodać nazwę waluty, np. Riale saudyjskie lub funty brytyjskie.
Ten komentarz został zminimalizowany przez moderatora na stronie
Na przykład konwertujemy 4000 na słowo „Cztery tysiące”, chcę to przetłumaczyć jako „Tylko riale saudyjskie tylko cztery tysiące”, więc w formule brakuje „Tylko riale saudyjskie”
Proszę pomóż
Ten komentarz został zminimalizowany przez moderatora na stronie
Powyższa formuła w module jest powtórzona i skopiowana ze strony Microsoft.

Zobacz oryginalny link i postępuj zgodnie z Microsoft Update..

https://support.microsoft.com/en-in/help/213360/how-to-convert-a-numeric-value-into-english-words-in-excel
Ten komentarz został zminimalizowany przez moderatora na stronie
drogi ten kod pokazuje błąd składni w tym wierszu
Cents = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) &_"00", 2))

czy możesz mi pomóc ..? Odpowiedz mi tak szybko, jak to możliwe?
Ten komentarz został zminimalizowany przez moderatora na stronie
DODAJ SŁOWO I MIĘDZY SŁOWAMI. sto czterdzieści tysięcy pięćset dwadzieścia sześć zamiast sto czterdzieści tysięcy pięćset dwadzieścia sześć. Zdanie może nie być dobrze zrozumiane, ponieważ nie jest poprawne w języku angielskim.
Ten komentarz został zminimalizowany przez moderatora na stronie
ten kod nie działa stale ... jeśli zamkniemy i otworzymy arkusz, to nie działa
Ten komentarz został zminimalizowany przez moderatora na stronie
Zapisz plik jako „Książkę roboczą z włączonymi makrami” i włącz makra, gdy go otworzysz
Ten komentarz został zminimalizowany przez moderatora na stronie
dzięki za dużo za kod!
Ten komentarz został zminimalizowany przez moderatora na stronie
Na przykład zamieniamy 2500 na słowo „Dwa tysiące pięćset”, chcę to przetłumaczyć jako „Tylko dwa tysiące pięćset”, więc w formule brakuje „Tylko”
Proszę pomóż
Ten komentarz został zminimalizowany przez moderatora na stronie
użyj =CONCATENATE(NumberstoWords(A1);"Tylko")
Ten komentarz został zminimalizowany przez moderatora na stronie
Naprawdę dziękuję kochanie, twoja formuła była doskonała, dobra, Allah cię błogosławi.
Pozdrowienia.
Ten komentarz został zminimalizowany przez moderatora na stronie
lakh crore nie w formule. Uprzejmie pomóż mi.
Ten komentarz został zminimalizowany przez moderatora na stronie
Na przykład zamieniamy 2500 na słowo „Dwa tysiące pięćset”, chcę je przetłumaczyć jako „Dwa tysiące pięćset i tylko pięćdziesiąt centów”, więc czy możesz mi pomóc
Ten komentarz został zminimalizowany przez moderatora na stronie
Nie rozumiem centów... moja kwota to 123.50 i dostałem "sto dwadzieścia trzy"... skopiowałem całą formułę, proszę o pomoc
Ten komentarz został zminimalizowany przez moderatora na stronie
A co z lakhami i crores?
Ten komentarz został zminimalizowany przez moderatora na stronie
Dziękuję bardzo
Ten komentarz został zminimalizowany przez moderatora na stronie
CIENKI. Ale z przykrością muszę powiedzieć, że ta formuła NIE działa na stałe... Zamknęłam skoroszyt na przerwę obiadową. Po lunchu otworzyłem plik, ale formuła nie działała. pokazuje błąd, taki jak #NAZWA?. Uprzejmie proszę o intymne rozwiązania.
Ten komentarz został zminimalizowany przez moderatora na stronie
Podziękowania


To działa! :)
Ten komentarz został zminimalizowany przez moderatora na stronie
jest błąd, kiedy moja kwota wynosi „618475”, jest napisane „sześćset osiemnaście tysięcy czterysta siedemdziesiąt pięć” zamiast „sześć lac osiemnaście tysięcy czterysta siedemdziesiąt pięć”.
Ten komentarz został zminimalizowany przez moderatora na stronie
Mam ten sam problem
Ten komentarz został zminimalizowany przez moderatora na stronie
To nie problem, to format pisania słowami
Ten komentarz został zminimalizowany przez moderatora na stronie
Dziękuję Ci extendOfficea
Nie ma tu jeszcze żadnych komentarzy
Pokaż więcej
Zostaw swój komentarz
Publikowanie jako gość
×
Oceń ten post:
0   Postacie
Sugerowane lokalizacje

Bądż na bieżąco

Prawa autorskie © 2009 - www.extendoffice.com. | Wszelkie prawa zastrzeżone. Zasilany przez ExtendOffice, | Mapa strony
Microsoft i logo Office są znakami towarowymi lub zastrzeżonymi znakami towarowymi Microsoft Corporation w Stanach Zjednoczonych i / lub innych krajach.
Chronione przez Sectigo SSL