Excel'de Rupi Olarak Sayıları Kelimelere Dönüştürme

İçindekiler:

Anonim

Excel, bir sayıyı veya tutarı Hint rupisi veya herhangi bir para birimi cinsinden sözcüklere dönüştüren herhangi bir varsayılan işlev sağlamaz. Ancak bu, sayıyı Hindistan rupisine çeviremeyeceğimiz anlamına gelmez. Sayıyı Hint rupilerinde kelimelere dönüştürmek için özel bir Excel formülü oluşturabiliriz. Sayıyı Hint rupisi cinsinden kelimelere dönüştürmek için bu özel işlevi yarattım. Makro dosyasını aşağıdan indirebilirsiniz. Aşağıdaki koddan bahsettim ve biraz açıkladım, böylece ihtiyacınıza göre değişiklik yapabilirsiniz.

Hint Rupilerinde Sayıları Kelimelere Gizlemek için Excel İşlevi

Bu nedenle, herhangi bir 10 basamaklı veya daha az miktarı veya sayıyı kelimelere veya rupilere dönüştürmek için bu işlevi kullanın. Bu işlevi NUM_TO_IND_RUPEE_WORD olarak adlandırdım. Bu işlevin sözdizimi şöyledir:

=NUM_TO_IND_RUPEE_WORD(sayı)

Çalışan makro dosyasını aşağıdan indirebilirsiniz:

Hint rupisi

Şimdi fonksiyonun kodu aşağıda belirtilmiştir.

Bu kod dört ayrı fonksiyona ayrılmıştır. Ana işlev NUM_TO_IND_RUPEE_WORD'dir. Ve diğer üç işlev GetHunderds(), GetTens() ve GetDigits, ana işlevin dizeyi oluşturmasına yardımcı olan işleve yardımcı olur.

İşlev NUM_TO_IND_RUPEE_WORD(ByVal MyNumber, Boolean Opsiyonel incRupees = True) Dim Crores, Lakhs, Rupi, Paise, Temp Dim Decimal As Long, Count As Long Dim myLakhs, myCrores ReDim Place(9) As String Place(2) = " : Yer(3) = " Milyon " Yer(4) = " Milyar ": Yer(5) = " Trilyon " ' Tutarın dize gösterimi. MyNumber = Trim(Str(MyNumber)) ' Yok ise ondalık basamağın konumu 0. DecimalPlace = InStr(MyNumber, ".") ' Paise'i dönüştürün ve MyNumber'ı Rupi miktarına ayarlayın. DecimalPlace > 0 ise 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)) Eğer Sıcaklık "" Sonra Crores = Temp & Place(Count ) & Crores If Len(myCrores) > 3 Sonra myCrores = Left(myCrores, Len(myCrores) - 3) Else myCrores = "" End If Count = Count + 1 Loop Count = 1 Do while myLakhs "" Temp = GetHundreds(Right (myLakhs, 3)) Eğer Sıcaklık "" ise Lakhs = Temp & Place(Count) & Lakhs Len(myLakhs) > 3 ise myLakhs = Left(myLakhs, Len(myLakhs) - 3) Else myLakhs = "" End If Count = Say + 1 Döngü Sayısı = 1 MyNumber iken Yap "" Temp = GetHundreds(Right(MyNumber, 3)) ise Temp "" O zaman Rupi = Temp & Place(Count) & Len(MyNumber) > 3 ise Rupi MyNumber = Left (MyNumber, Len(MyNumber) - 3) Else MyNumber = "" Sayılırsa Sonlandır = C ount + 1 Loop Select Case Crores Case "": Crores = "" Case "One": Crores = " One Crore " Case Diğer: Crores = Crores & " Crores " End Select Select Case Lakhs Case "": Lakhs = "" Case "Bir": Lakh = " Bir Lakh " Diğer Durum: Lakhs = Lakhs & " Lakhs " End Select Vaka Rupisi Vaka "": Rupi = "Sıfır " Vaka "Bir": Rupi = "Bir" Vaka Diğer: Rupi = Rupi End Select Select Case Paise Case "": Paise = " ve Paise Zero " Case "One": Paise = " ve Paise One Only " Case Else: Paise = " ve Paise " & Paise & " Only " End Select 'oluşturma sayıyı kelimelere çevirecek kelime dizisi NUM_TO_IND_RUPEE_WORD = IIf(incRupees, "Rupees ", "") & Crores & _ Lakhs & Rupi & Paise End Function ' 100-999 arasındaki bir sayıyı metne dönüştürür Function GetHundreds(ByVal MyNumber) Dim Result As String If Val(MyNumber) = 0 O zaman Exit Function MyNumber = Right("000" & MyNumber, 3) ' Yüzler basamağını dönüştürün. If Mid(MyNumber, 1, 1) "0" Then Result = GetDigit(Mid(MyNumber, 1, 1)) & " Hundred " End If ' Onlar ve birler basamağını dönüştürün. 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'dan 99'a kadar numarayı metne dönüştürün. İşlev GetTens(TensText) Dim Result As String Result = "" ' Geçici işlev değerini boş bırakın. Eğer Val(Left(TensText, 1)) = 1 O zaman ' 10-19 arasında bir değer ise… Seç Durum Val(TensText) Durum 10: Sonuç = "On" Durum 11: Sonuç = "Onbir" Durum 12: Sonuç = "Oniki Vaka 13: Sonuç = "On Üç" Vaka 14: Sonuç = "On Dört" Vaka 15: Sonuç = "Onbeş" Vaka 16: Sonuç = "On Altı" Vaka 17: Sonuç = "Onyedi" Vaka 18: Sonuç = "Onsekiz" Vaka 19: Sonuç = "Ondokuz" Durum Else End Else Seç ' Eğer değer 20-99 arasında ise… Seç Case Val(Left(TensText, 1)) Durum 2: Sonuç = "Yirmi" Durum 3: Sonuç = "Otuz" Durum 4: Sonuç = "Kırk" Durum 5: Sonuç = "Elli" Durum 6: Sonuç = "Altmış" Durum 7: Sonuç = "Yetmiş" Durum 8: Sonuç = "Seksen" Durum 9: Sonuç = "Doksan" Vaka Else End Select Sonuç = Result & GetDigit _ (Right(TensText, 1)) ' Birler yerini al. End If GetTens = Result End Function ' 1'den 9'a kadar olan bir sayıyı metne dönüştürür. Fonksiyon GetDigit(Digit) Select Case Val(Digit) Durum 1: GetDigit = "Bir" Durum 2: GetDigit = "İki" Durum 3: GetDigit = "Üç" Durum 4: GetDigit = "Dört" Durum 5: GetDigit = "Beş " Durum 6: GetDigit = "Altı" Durum 7: GetDigit = "Yedi" Durum 8: GetDigit = "Sekiz" Durum 9: GetDigit = "Dokuz" Durum Başka: GetDigit = "" End Select End Fonksiyonu 

Fonksiyonun kodu uzun ama anlaşılması kolay.

Bu kodu kullanmak için VBE'ye bir modül ekleyin ve kopyalayıp yapıştırın. Ve fonksiyon doğrudan sayfa üzerinde kullanılmaya hazırdır. Sayıyı, özellikle Hint rupisi biçiminde kelimelere dönüştürecektir.

Evet arkadaşlar, sayıları kelimelere dönüştürmek için Excel'de özel bir işlevi bu şekilde kullanabilirsiniz. Umarım bu yardımcı olur. Bu makale veya başka bir işlevle ilgili herhangi bir şüpheniz varsa, aşağıdaki yorumlar bölümünde sorun.

Diziyi Döndürmek için VBA İşlevi Oluşturun| Excel'de özel bir işlev kullanarak bir dizi döndürmek için özel işlevi yazmak için biraz farklı bir sözdizimi kullanırız. Bu işlev, yalnızca bir değer yerine bir dizi değer döndürür.

Excel Formülünde Diziler|Diziler, her teknik dilde aynı türden bir koleksiyon değerleridir. Excel'de aynıdır, ancak diğer programlama dillerinden biraz farklı muamele görür…

VBA ile Kullanıcı Tanımlı İşlev Nasıl Oluşturulur| Excel'de kullanıcı tanımlı işlevlerin nasıl oluşturulacağını öğrenin.

Microsoft Excel'de VBA kullanarak başka bir çalışma kitabından Kullanıcı Tanımlı İşlev (UDF) kullanma| Kullanıcı tanımlı işlevi başka bir Excel çalışma kitabında kullanın.

Microsoft Excel'de VBA kullanarak kullanıcı tanımlı işlevlerden hata değerlerini döndür| Kullanıcı tanımlı bir işlevden nasıl hata değerleri döndürebileceğinizi öğrenin.

Popüler Makaleler:

Verimliliğinizi Artıracak 50 Excel Kısayolu | Görevinizde daha hızlı olun. Bu 50 kısayol, Excel'de daha da hızlı çalışmanızı sağlayacaktır.

Excel DÜŞEYARA İşlevi nasıl kullanılır?| Bu, farklı aralıklardan ve sayfalardan değer aramak için kullanılan excel'in en çok kullanılan ve popüler işlevlerinden biridir.

Excel nasıl kullanılır EĞERSAY İşlevi| Bu şaşırtıcı işlevi kullanarak değerleri koşullarla sayın. Belirli bir değeri saymak için verilerinizi filtrelemeniz gerekmez. Gösterge tablonuzu hazırlamak için Countif işlevi gereklidir.

Excel'de SUMIF İşlevi Nasıl Kullanılır | Bu, başka bir gösterge panosu temel işlevidir. Bu, belirli koşullardaki değerleri özetlemenize yardımcı olur.