Program Excel nie udostępnia żadnej domyślnej funkcji, która konwertuje liczby lub kwoty na słowa w rupiach indyjskich lub w dowolnej walucie. Ale to nie znaczy, że nie możemy przeliczyć liczby na rupię indyjską. Możemy stworzyć niestandardową formułę Excela, aby przekonwertować liczbę na słowa w rupiach indyjskich. Stworzyłem tę niestandardową funkcję do konwersji liczby na słowa w rupiach indyjskich. Możesz pobrać plik makra poniżej. Wspomniałem o kodzie poniżej i wyjaśniłem trochę, abyś mógł wprowadzać zmiany zgodnie z wymaganiami.
Funkcja Excel do ukrywania liczb w słowach w rupiach indyjskich
Użyj tej funkcji, aby przekonwertować dowolną 10-cyfrową lub mniejszą kwotę lub liczbę na słowa lub rupie. Nazwałem tę funkcję NUM_TO_IND_RUPEE_WORD. Składnia tej funkcji to:
=NUM_TO_IND_RUPEE_WORD(liczba) |
Możesz pobrać działający plik makra w dół:
Liczba do słów rupia indyjska
Teraz kod funkcji jest wymieniony poniżej.
Ten kod jest podzielony na cztery indywidualne funkcje. Główną funkcją jest NUM_TO_IND_RUPEE_WORD. Pozostałe trzy funkcje GetHunderds(), GetTens() i GetDigits pomagają funkcji, która pomaga funkcji głównej w tworzeniu ciągu.
Funkcja NUM_TO_IND_RUPEE_WORD(ByVal MyNumber, Opcjonalne incRupees As Boolean = True) Dim Crores, Lakhs, Rupees, Paise, Temp Dim DecimalPlace As Long, Licz As Long Dim myLakhs, myCrores ReDim Place (9) As String Place(2) = " Thousand " : Place(3) = " Million " Place(4) = " Billion " : Place(5) = "Bilion " ' Ciąg znaków określający kwotę. MyNumber = Trim(Str(MyNumber)) ' Pozycja miejsca dziesiętnego 0, jeśli brak. DecimalPlace = InStr(MyNumber, ".") ' Konwertuj Paise i ustaw MyNumber na kwotę w rupiach. If DecimalPlace > 0 Then Paise = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & "00", 2)) MyNumber = Trim(Left(MyNumber, DecimalPlace - 1)) End If myCrores = MyNumber \ 10000000 myLakhs = ( MyNumber - myCrores * 10000000) \ 100000 MyNumber = MyNumber - myCrores * 10000000 - myLakhs * 100000 Count = 1 Do While myCrores "" Temp = GetHundreds(Right(myCrores, 3)) If Temp "" Then Crores = Temp & Place(Count ) & Crores If Len(myCrores) > 3 Then myCrores = Left(myCrores, Len(myCrores) - 3) Else myCrores = "" End If Count = Count + 1 Loop Count = 1 Do While myLakhs "" Temp = GetHundreds(Right (myLakhs, 3)) If Temp "" Then Lakhs = Temp & Place(Count) & Lakhs If Len(myLakhs) > 3 Then myLakhs = Left(myLakhs, Len(myLakhs) - 3) Else myLakhs = "" End If Count = Count + 1 Loop Count = 1 Do While MyNumber "" Temp = GetHundreds(Right(MyNumber, 3)) If Temp "" Then Rupees = Temp & Place(Count) & Rupees If Len(MyNumber) > 3 Then MyNumber = Left (MyNumber, Len(MyNumber) - 3) Else MyNumber = „” End If Count = C unt + 1 pętla Wybierz przypadek Crores Case "": Crores = "" Case "One": Crores = " Jeden Crore " Case Inny: Crores = Crores & " Crores " Koniec Wybierz Wybierz przypadek Lakhs Case "": Lakhs = "" Case "Jeden": Lakhs = " Jeden Lakh " Case Else: Lakhs = Lakhs & " Lakhs " Koniec Wybierz Wybierz Case Rupees Case "": Rupees = "Zero " Case "One": Rupees = "Jeden" Case Inny: Rupees = Rupies End Select Select Case Paise Case "": Paise = " and Paise Zero Only " Case "One": Paise = " and Paise One Only " Case Else: Paise = " and Paise " & Paise & " Only " End Select 'tworzenie ciąg słów do przetłumaczenia liczby na słowa NUM_TO_IND_RUPEE_WORD = IIf(incRupees, "Rupees ", "") & Crores & _ Lakhs & Rupees & Paise End Function ' Konwertuje liczbę od 100 do 999 na tekst Funkcja GetHundreds(ByVal MyNumber) Dim Result As String If Val(MyNumber) = 0 Then Exit Function MyNumber = Right("000" & MyNumber, 3) ' Konwertuj miejsca setek. If Mid(MyNumber, 1, 1) "0" Then Result = GetDigit(Mid(MyNumber, 1, 1)) & "Hundred" End If ' Zamień miejsca dziesiątek i jedynek. If Mid(MyNumber, 2, 1) "0" Then Result = wynik & GetTens(Mid(MyNumber, 2)) Else Result = Result & GetDigit(Mid(MyNumber, 3)) End If GetHundreds = wynik End Function ' numer od 10 do 99 na tekst. Function GetTens(TensText) Dim Wynik As String Wynik = "" ' Anuluje tymczasową wartość funkcji. If Val(Left(TensText, 1)) = 1 Then ' Jeżeli wartość z zakresu 10-19… Wybierz przypadek Val(TensText) Case 10: Wynik = "Dziesięć" Przypadek 11: Wynik = "Jedenaście" Przypadek 12: Wynik = "Dwanaście " Przypadek 13: Wynik = "Trzynaście" Przypadek 14: Wynik = "Czternaście" Przypadek 15: Wynik = "Piętnaście" Przypadek 16: Wynik = "Szesnaście" Przypadek 17: Wynik = "Siedemnaście" Przypadek 18: Wynik = "Osiemnaście" Przypadek 19: Wynik = "Dziewiętnaście" Case Else End Wybierz Else ' Jeśli wartość z zakresu 20-99… Wybierz Case Val(Left(TensText, 1)) Case 2: Wynik = "Dwadzieścia" Case 3: Wynik = "Trzydziestu" Case 4: Wynik = „Czterdzieści” Przypadek 5: Wynik = „Pięćdziesiąt” Przypadek 6: Wynik = „Sześćdziesiąt” Przypadek 7: Wynik = „Siedemdziesiąt” Przypadek 8: Wynik = „Osiemdziesiąt” Przypadek 9: Wynik = „Dziewięćdziesiąt” Sprawa w przeciwnym razie Wybierz wynik = Wynik & GetDigit _ (Right(TensText, 1)) ' Pobierz jedno miejsce. End If GetTens = Wynik End Function ' Konwertuje liczbę od 1 do 9 na tekst. Funkcja GetDigit(cyfra) Wybierz wielkość Val(cyfra) Przypadek 1: GetDigit = "Jeden" Przypadek 2: GetDigit = "Dwa" Przypadek 3: GetDigit = "Trzy" Przypadek 4: GetDigit = "Cztery" Przypadek 5: GetDigit = "Pięć" " Przypadek 6: GetDigit = "Sześć" Przypadek 7: GetDigit = "Siedem" Przypadek 8: GetDigit = "Osiem" Przypadek 9: GetDigit = "Dziewięć" Przypadek Inny: GetDigit = "" Koniec Wybierz funkcję zakończenia
Kod funkcji jest długi, ale łatwy do zrozumienia.
Aby użyć tego kodu, wstaw moduł do VBE i skopiuj go wklej. Funkcja jest gotowa do bezpośredniego użycia na arkuszu. Przekształci liczbę na słowa, w szczególności w formacie rupii indyjskiej.
Tak, tak, w ten sposób możesz użyć funkcji niestandardowej w programie Excel, aby przekonwertować liczbę na słowa. Mam nadzieję, że to będzie pomocne. Jeśli masz jakiekolwiek wątpliwości dotyczące tego artykułu lub jakiejkolwiek innej funkcji, zapytaj w sekcji komentarzy poniżej.
Utwórz funkcję VBA, aby zwrócić tablicę| Aby zwrócić tablicę za pomocą funkcji niestandardowej w programie Excel, używamy nieco innej składni do pisania funkcji niestandardowej. Ta funkcja zwraca tablicę wartości zamiast tylko jednej wartości.
Tablice w formule Excel| Tablice są zbiorami wartości tego samego typu w każdym języku technicznym. W Excelu jest to samo, ale traktowane nieco inaczej niż inne języki programowania…
Jak utworzyć funkcję zdefiniowaną przez użytkownika za pomocą VBA?| Dowiedz się, jak tworzyć funkcje zdefiniowane przez użytkownika w programie Excel.
Korzystanie z funkcji zdefiniowanej przez użytkownika (UDF) z innego skoroszytu przy użyciu VBA w programie Microsoft Excel| Użyj funkcji zdefiniowanej przez użytkownika w innym skoroszycie programu Excel.
Zwracanie wartości błędów z funkcji zdefiniowanych przez użytkownika za pomocą VBA w programie Microsoft Excel| Dowiedz się, jak zwrócić wartości błędów z funkcji zdefiniowanej przez użytkownika.
Popularne artykuły:
50 skrótów Excela, które zwiększą Twoją produktywność | Przyspiesz swoje zadanie. Te 50 skrótów przyspieszy pracę w programie Excel.
Jak korzystać z funkcji WYSZUKAJ.PIONOWO programu Excel| Jest to jedna z najczęściej używanych i popularnych funkcji programu Excel, która służy do wyszukiwania wartości z różnych zakresów i arkuszy.
Jak korzystać z Excela LICZ.JEŻELI Funkcja| Policz wartości z warunkami za pomocą tej niesamowitej funkcji. Nie musisz filtrować danych, aby policzyć konkretną wartość. Funkcja Countif jest niezbędna do przygotowania deski rozdzielczej.
Jak korzystać z funkcji SUMIF w programie Excel? | To kolejna ważna funkcja deski rozdzielczej. Pomaga to zsumować wartości w określonych warunkach.