Excel'de Hint Rupisi ve Diğer Kurlar İçin Sayıları Kelimelere Dönüştürme (2025 Baskısı)
İşte Excel'de sayıları Hint Rupisi veya başka bir para birimine kelimelere dönüştürmenin yolu.
Fatura, teklif, vergi formları, çekler veya ödeme makbuzları gibi finansal belgelerle çalışırken, para değerlerini hem sayısal hem de yazılı formatlarda temsil etmek genellikle gereklidir. Bu, profesyonelliği artırır ve dolandırıcılığı veya yanlış yorumlamayı önlemeye yardımcı olur.
Örnek
Microsoft Excel'in sayıları kelimelere dönüştürmek için yerleşik bir özelliği olmasa da, bunu başarmak için birden fazla etkili yol vardır—VBA, LAMBDA fonksiyonları veya tümleşik Kutools for Excel eklentisi aracılığıyla.
Her Microsoft Sürümünde VBA ile Hint Rupisine Sayıları Kelimelere Dönüştürme
- Diğer Kurlara (USD, EUR, vb.) Sayıları Kelimelere Dönüştürme
- Çalışma Kitabınızı Makro Etkinli Dosya Olarak Kaydedin
Sadece Microsoft 365 İçin LAMBDA Fonksiyonu ile Hint Rupisindeki Sayıları Kelimelere Dönüştürme
Hangi Yöntemi Ne Zaman Kullanılmalı
Her Microsoft Sürümünde VBA ile Hint Rupisine Sayıları Kelimelere Dönüştürme
Herhangi bir Excel sürümünün kullanıcıları için, VBA (Visual Basic for Applications), Hint numaralandırma sistemini kullanarak sayısal miktarları kelimelere dönüştürmek için özelleştirilebilir bir yöntem sunar (örneğin binler, laklar, krorlar).
Adım 1. VBA düzenleyicisini açmak için Alt + F11 tuşlarına basın (Microsoft Visual Basic for Applications penceresi).

Adım 2. Ekle > Modül'e gidin.

Adım 3. VBA kodunu Modül'e yapıştırın.
Hint rupisindeki sayılara kelimeleri dönüştürün
Function ConvertToRupees(ByVal MyNumber)
'UpdatebyExtendoffice
Dim Units As String, SubUnits As String, TempStr As String
Dim DecimalPlace As Integer, Count As Integer
Dim Place(9) As String
Place(2) = " Thousand "
Place(3) = " Lakh "
Place(4) = " Crore "
MyNumber = Trim(Str(MyNumber))
DecimalPlace = InStr(MyNumber, ".")
If DecimalPlace > 0 Then
SubUnits = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & "00", 2))
MyNumber = Trim(Left(MyNumber, DecimalPlace - 1))
End If
Count = 1
Do While MyNumber <> ""
TempStr = GetHundreds(Right(MyNumber, 3))
If TempStr <> "" Then Units = TempStr & Place(Count) & Units
If Len(MyNumber) > 3 Then
MyNumber = Left(MyNumber, Len(MyNumber) - 3)
Else
MyNumber = ""
End If
Count = Count + 1
Loop
ConvertToRupees = "Rupees " & Application.WorksheetFunction.Trim(Units)
If SubUnits <> "" Then
ConvertToRupees = ConvertToRupees & " and " & SubUnits & " Paise"
End If
ConvertToRupees = ConvertToRupees & " Only"
End Function
Private Function GetHundreds(ByVal MyNumber)
Dim Result As String
If Val(MyNumber) = 0 Then Exit Function
MyNumber = Right("000" & MyNumber, 3)
If Mid(MyNumber, 1, 1) <> "0" Then
Result = GetDigit(Mid(MyNumber, 1, 1)) & " Hundred "
End If
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
Private Function GetTens(TensText)
Dim Result As String
If Val(Left(TensText, 1)) = 1 Then
Select Case Val(TensText)
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"
End Select
Else
Select Case Val(Left(TensText, 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 "
End Select
Result = Result & GetDigit(Right(TensText, 1))
End If
GetTens = Result
End Function
Private Function GetDigit(Digit)
Select Case Val(Digit)
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

Adım 4. Kaydedin ve Excel’e geri dönün.
Adım 5. Bir hücre seçin ve şu formülü kullanın:
Enter tuşuna basın

💡 İpucu: Bu yöntem ondalıkları (Paisa) destekler ve çevrimdışı çalışır.
VBA Kullanmanın Sınırlamaları
- Çalışma kitabını makro etkin dosya olarak kaydetmeyi gerektirir (.xlsm).
- Makrolar bazı ortamlarda güvenlik ayarları tarafından engellenebilir.
Diğer Kurlara (USD, EUR, vb.) Sayıları Kelimelere Dönüştürme
"Dolar" veya "Euro" gibi diğer para birimleri için çıktıyı özelleştirmek isterseniz, VBA fonksiyonundaki metin değerlerini ayarlayabilirsiniz. Aşağıda daha esnek ve basitleştirilmiş bir versiyon bulunmaktadır.
Esnek VBA Kod Şablonu (Özel Para Birimi)
'UpdatebyExtendoffice
Public Function NumberToWordsCustom(ByVal num As Double, Optional ByVal currency2 As String, Optional ByVal subCurrency As String) As String
Dim result As String
Dim dollars As Long
Dim cents As Long
dollars = Int(num)
cents = Round((num - dollars) * 100)
If Len(currency2) = 0 Then currency2 = "Dollars"
If Len(subCurrency) = 0 Then subCurrency = "Cents"
result = currency2 & " " & SpellNumber_English(dollars)
If cents > 0 Then
result = result & " and " & SpellNumber_English(cents) & " " & subCurrency
End If
NumberToWordsCustom = result & " Only"
End Function
Private Function SpellNumber_English(ByVal MyNumber As Long) As String
Dim Units As Variant, Tens As Variant, Teens As Variant
Dim Place() As String
Dim TempStr As String
Dim Count As Integer
Dim t As String
Dim StrNumber As String
Dim n As Integer
Place = Split(" Thousand Million Billion", " ")
Units = Array("", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine")
Tens = Array("", "", "Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety")
Teens = Array("Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen")
StrNumber = Trim(Str(MyNumber))
Count = 0
Do While StrNumber <> ""
n = Val(Right(StrNumber, 3))
If n <> 0 Then
t = ConvertHundreds(n, Units, Tens, Teens)
If Count > 0 Then t = t & " " & Place(Count - 1)
TempStr = t & " " & TempStr
End If
If Len(StrNumber) > 3 Then
StrNumber = Left(StrNumber, Len(StrNumber) - 3)
Else
StrNumber = ""
End If
Count = Count + 1
Loop
SpellNumber_English = Trim(TempStr)
End Function
Private Function ConvertHundreds(ByVal n As Integer, Units As Variant, Tens As Variant, Teens As Variant) As String
Dim result As String
If n >= 100 Then
result = Units(Int(n / 100)) & " Hundred "
n = n Mod 100
End If
If n >= 20 Then
result = result & Tens(Int(n / 10)) & " "
n = n Mod 10
ElseIf n >= 10 Then
result = result & Teens(n - 10) & " "
n = 0
End If
If n > 0 Then
result = result & Units(n)
End If
ConvertHundreds = Trim(result)
End Function
Örnek VBA Formülü:

Diğer Para Birimlerinin Örnek VBA Formülü:
=NumberToWordsCustom(A2, "Euros", "Cents")
=NumberToWordsCustom(A2, "Pounds", "Pence")
Kod esnektir—sadece istediğiniz para birimini ve alt birimi girin.
Çalışma Kitabınızı Makro Etkinli Dosya Olarak Kaydedin
VBA kullanıyorsanız, çalışma kitabınızı makrolar etkin olarak kaydetmek çok önemlidir. Aksi takdirde, dosya kapandığında kodunuz kaybolur.
Adım 1. Dosya > Farklı Kaydet'e gidin.

Adım 2. Bir konum seçin ve dosya türünü seçin: Excel Makro Etkin Çalışma Kitabı (*.xlsm).

Adım 3. Kaydet'e tıklayın.
✅ =ConvertToRupees(A2) gibi özel fonksiyonlarınız artık kalıcı olacak ve her zaman yeniden kullanılabilir.
Sadece Microsoft 365 İçin LAMBDA Fonksiyonu ile Hint Rupisindeki Sayıları Kelimelere Dönüştürme
Excel 365 kullanıcıları için, LAMBDA'yı kullanabilirsiniz—bu yeni bir Excel özelliğidir ve özel formüller tanımlamanıza olanak tanır, hiç VBA gerektirmez.
🪄 LAMBDA Nedir?
LAMBDA, Excel'deki bir özelliktir ve sizi SUM veya IF gibi yerleşik işlevler gibi kendi özel işlevlerinizi oluşturmanıza olanak tanır, ancak hiçbir kod veya makroya gerek duymaz. Bu, tekrarlayan mantığı basitleştirmek ve elektronik tablolarınızı daha temiz ve sürdürülebilir hale getirmek için harika.
Adım 1: İsim Yöneticisine gidin ve Formüller > İsim Yöneticisi'ne tıklayın.

Adım 2: Yeni bir Ad oluşturun.
Yeni butonuna tıklayın.
Bir Ad girin.
Örnek: RupeeToWords
Adım 3: LAMBDA formülünü Refers to alanına yapıştırın:
=LAMBDA(n, LET( units, {"","One","Two","Three","Four","Five","Six","Seven","Eight","Nine"}, teens, {"Ten","Eleven","Twelve","Thirteen","Fourteen","Fifteen","Sixteen","Seventeen","Eighteen","Nineteen"}, tens, {"","","Twenty","Thirty","Forty","Fifty","Sixty","Seventy","Eighty","Ninety"}, num, INT(n), paise, ROUND((n - INT(n)) * 100, 0), ConvertTwo, LAMBDA(x, IF(x<10, INDEX(units, x+1), IF(x<20, INDEX(teens, x-9), INDEX(tens, INT(x/10)+1) & IF(MOD(x,10)>0, " " & INDEX(units, MOD(x,10)+1), "") ) ) ), ConvertThree, LAMBDA(x, IF(x=0, "", IF(x<100, ConvertTwo(x), INDEX(units, INT(x/100)+1) & " Hundred" & IF(MOD(x,100)>0, " " & ConvertTwo(MOD(x,100)), "") ) ) ), words, IF(num=0, "Zero", TEXTJOIN(" ", TRUE, IF(INT(num/10000000)>0, ConvertTwo(INT(num/10000000)) & " Crore", ""), IF(MOD(INT(num/100000),100)>0, ConvertTwo(INT(MOD(num,10000000)/100000)) & " Lakh", ""), IF(MOD(INT(num/1000),100)>0, ConvertTwo(INT(MOD(num,100000)/1000)) & " Thousand", ""), IF(MOD(INT(num/100),10)>0, INDEX(units, INT(MOD(num,1000)/100)+1) & " Hundred", ""), IF(MOD(num,100)>0, ConvertTwo(MOD(num,100)), "") ) ), result, "Rupees " & words & IF(paise>0, " and " & ConvertTwo(paise) & " Paise", "") & " Only", result ))Yeni Adı kaydetmek için Tamam'a tıklayın.

Adım 3. İsim Yöneticisi'ni kapatın ve Excel'e geri dönün.
Adım 4. Herhangi bir hücrede şu şekilde formülü kullanın:
Enter tuşuna basın.

👀 Tam LAMBDA fonksiyon kodu Kror, Lak, Binler ve ondalıkları ele alır.
Tüm Microsoft Sürümlerinde USD, EUR ve 30'dan Fazla Başka Para Birimine Sayıları Kelimelere Dönüştürme
En verimli ve profesyonel çözüm için, Kutools for Excel'in Numbers to Words özelliğini kullanın. Bu güçlü araç şunları destekler:
🌍 30'dan fazla para birimi, şunlar dahil:
- Amerikan Doları (USD)
- Euro (EUR)
- Çin Yuanı (CNY)
- İngiliz Sterlini (GBP)
- vb.
Adım 1. Dönüştürmek istediğiniz hücreleri seçin.

Adım 2. Kutools > İçerik > Numbers to Words'e gidin.

Adım 3. Hedef para biriminizi seçin ve Tamam'a tıklayın.

Sayılar belirtilen para birimine dönüştürülür.

😁 İpucu: Eğer doğrudan sayıları para birimine dönüştürmek istemiyorsanız, Not converted to Currency seçeneğini işaretleyin ve sonuç şu şekilde gösterilecektir:

Hangi Yöntemi Ne Zaman Kullanılmalı
Eğer esnek, programlanabilir bir çözüme ihtiyacınız varsa ve makrolara aşina iseniz VBA'yı kullanın.
- Eğer Excel 365 kullanıyorsanız ve sadece ara sıra Hint Rupisi değerlerini dönüştürmeniz gerekiyorsa LAMBDA'yı kullanın. Bu, hafif, paylaşılabilir bir çözümdür ve hiçbir makro veya dış araç gerektirmez—basit veya kişisel görevler için mükemmeldir.
- Eğer en kolay, en hızlı ve en çok yönlü çözümü istiyorsanız Kutools for Excel'i kullanın—hiçbir kodlama gerekmez. Kutools özellikle şu durumlarda faydalıdır:
- Birden fazla para birimiyle uğraşıyorsanız.
- Toplu veya büyük veri setlerinde değerleri dönüştürmeniz gerekiyorsa.
- Hiç makro gerektirmeyen, 30'dan fazla para birimi seçeneği ve AI destekli performansa sahip profesyonel hazır bir araç istiyorsanız.
En İyi Ofis Verimlilik Araçları
Kutools for Excel ile Excel becerilerinizi güçlendirin, daha önce hiç yaşamadığınız bir verimlilik deneyimini yaşayın. Kutools for Excel, üretkenliğinizi artıracak ve zamanı kaydetmenizi sağlayacak300’den fazla gelişmiş özellik sunar. En çok ihtiyaç duyduğunuz özelliği almak için buraya tıklayın...
Office Tab, Office’e sekmeli arayüz kazandırır ve işinizi çok daha kolaylaştırır
- Word, Excel, PowerPoint’te sekmeli düzenleme ve okuma işlevini etkinleştirin.
- Aynı pencere içerisinde yeni sekmelerde birden fazla belge açın veya oluşturun, yeni pencerelerde açmak yerine.
- Verimliliğinizi %50 artırın, her gün yüzlerce fare tıklamasını sizin için azaltın!