Excel'de sayıları kelimelere dönüştürme – kapsamlı bir rehber
Finansal raporlar, yasal belgeler, faturalar veya çekler için sayıları yazılı sözcüklere çevirmek genellikle gereklidir. Excel bu işlevselliği kutudan çıkar çıkmaz sunmaz, ancak Microsoft 365 fonksiyonlarından VBA kullanıcı tanımlı fonksiyonlarına ve güçlü üçüncü parti eklentilere kadar birçok güvenilir yol vardır. Bu kapsamlı rehber, her yöntemi adım adım anlatır, avantajlarını ve sınırlamalarını vurgular ve size belirli ihtiyaçlarınız için en iyi yaklaşımı seçmede yardımcı olur.

- Yeni yerleşik fonksiyonları kullanın (Sadece Microsoft 365)
- VBA kullanıcı tanımlı fonksiyonu kullanın
- Kutools for Excel'i birkaç tıklamayla kullanın
Excel'de sayıları kelimelere dönüştürme yöntemleri
Bu bölüm, Excel'de para birimi sayılarını kelimelere dönüştürmek için üç etkili yöntemi tanıtmaktadır. Excel sürümünüze ve kullanım durumunuza en uygun olanı seçin.
Yöntem 1: Yeni yerleşik fonksiyonları kullanın (Sadece Microsoft 365)
Microsoft 365 için Excel kullanıyorsanız, yeni TRANSLATE fonksiyonundan yararlanarak yaratıcı bir formül kombinasyonu ile para birimi sayılarını kolayca kelimelere dönüştürebilirsiniz.
Aşağıdaki ekran görüntüsünde gösterildiği gibi, A2:A5 aralığındaki para birimi sayılarını kelimelere dönüştürmek için aşağıdaki formülü uygulayabilirsiniz.
- Boş bir hücre seçin (örneğin B2), aşağıdaki formülü girin. =PROPER(SUBSTITUTE(SUBSTITUTE(LOWER(TRANSLATE(BAHTTEXT(B9),"th","en")),"baht","dollars"),"satang","cents"))
- "Enter" tuşuna basın ve "Doldurma Tutamağı"nı aşağı doğru sürükleyerek diğer satırlara uygulayın.
Formülün nasıl çalıştığı:
- BAHTTEXT: Sayıyı Tayland baht metnine çevirir (örneğin, “หนึ่งบาทถ้วน”).
- TRANSLATE(...,"th","en"): Metni bir dilden diğerine çevirir (Microsoft 365 gerektirir). Bu durumda, Tayca'yı İngilizce'ye çevirir.
- LOWER(): Tutarlılık için tüm dizeyi küçük harfe çevirir.
- SUBSTITUTE(): "baht" ve "satang" gibi para birimi kelimelerini istediğiniz terimlerle değiştirir.
- PROPER(): Her kelimenin ilk harfini büyük harfe çevirerek düzgün biçimlendirme sağlar.
Diğer para birimleri için uyarlayın:
Yukarıdaki formül ABD doları çıktısı verir. Ana ve alt birimleri değiştirerek diğer para birimleri için özelleştirebilirsiniz:
- "dollars" yerine hedef para biriminizin ana birimini yazın, örneğin İngiliz Sterlini için "pounds".
- "cents" yerine alt birimi yazın, örneğin İngiliz Sterlini için "pence".
Aşağıdaki tablo, uyumlu para birimlerini ve kullanabileceğiniz karşılık gelen formülleri listeler:
Para Birimi | Ana Birim Değişikliği | Alt Birim Değişikliği | Örnek Formül (Değer A2 hücresinde olduğunu varsayarsak) |
---|---|---|---|
USD | dollars | cents | =PROPER(SUBSTITUTE(SUBSTITUTE(LOWER(TRANSLATE(BAHTTEXT(A2),"th","en")),"baht","dollars"),"satang","cents")) |
GBP | pounds | pence | =PROPER(SUBSTITUTE(SUBSTITUTE(LOWER(TRANSLATE(BAHTTEXT(A2),"th","en")),"baht","pounds"),"satang","pence")) |
EUR | euros | cents | =PROPER(SUBSTITUTE(SUBSTITUTE(LOWER(TRANSLATE(BAHTTEXT(A2),"th","en")),"baht","euros"),"satang","cents")) |
MYR | ringgit | sen | =PROPER(SUBSTITUTE(SUBSTITUTE(LOWER(TRANSLATE(BAHTTEXT(A2),"th","en")),"baht","ringgit"),"satang","sen")) |
Bu yöntemin sınırlamaları:
- Yalnızca Microsoft 365 için Excel'de çalışır (TRANSLATE() fonksiyonu nedeniyle).
- Çıktı, BAHTTEXT() biçimlendirmesinin doğruluğuna oldukça bağlıdır.
- Bu yöntem, Tay Bahtı gibi hem ana birime hem de alt birime sahip para birimleri için uygundur (örneğin dolarlar ve sentler). Benzer bir para birimi yapısına sahip olmayan para birimleri için önerilmez.
Yöntem 2: VBA kullanıcı tanımlı fonksiyonunu kullanın
Bu bölümde, sayısal değerleri İngilizce para birimi kelimelerine dönüştürmek için VBA tabanlı Kullanıcı Tanımlı Fonksiyonu (UDF) kullanmayı öğreneceksiniz - özellikle varsayılan olarak Amerikan Doları (USD) için uyarlanmıştır.
Adım 1: VBA kodunu ekleme
- Bu özelliği kullanmak istediğiniz çalışma sayfasını açın.
- "Alt" + "F11" tuşlarına basarak "Microsoft Visual Basic for Applications" penceresini açın.
- Editörde, "Ekle" > "Modül"'e tıklayın ve aşağıdaki VBA kodunu yapıştırın.
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
- "Alt" + "Q" tuşlarına basarak çalışma sayfasına geri dönün.
Adım 2: Fonksiyonu uygulama
- Bir hücreye aşağıdaki formülü girin ve "Enter" tuşuna basın. =SpellNumberToEnglish(A2)
- Ardından, doldurma tutamacını sürükleyerek diğer satırlara da uygulayın. Sayılarınız artık şu şekilde kelimelerle ifade edilecektir:
Diğer para birimleri için uyarlayın:
Fonksiyon, yalnızca USD için sabit kodlanmış "Dollar(s)" ve "Cent(s)" çıktıları verir. Örneğin, "İngiliz Sterlini"ne sayıları dönüştürmek isterseniz, aşağıdaki kod satırlarında ana ve alt birimleri manuel olarak değiştirmeniz gerekir.

Çalışma kitabını makro özellikli dosya olarak kaydedin
Varsayılan olarak, çalışma kitabı makro özellikli bir çalışma kitabı olarak kaydedilmediği sürece VBA fonksiyonları korunmayacaktır:
- "Ctrl" + "S" tuşlarına basarak kaydedin.
- Ve makrolar hakkında çıkan mesajda "Geri dön" butonunu seçin. Not: Eğer uyarı yalnızca "Evet", "Hayır" ve "Yardım" seçeneklerini içeriyorsa, "Hayır" seçeneğine tıklayın.
- "Farklı Kaydet" penceresinde.
- Kayıt konumu seçin.
- "Farklı Kaydet" açılır listesinde "Excel Makro Özellikli Çalışma Kitabı (*.xlsm)" seçin.
- "Kaydet"e tıklayın.
SpellNumberToEnglish VBA Fonksiyonunun Sınırlamaları
- Bu fonksiyon yalnızca İngilizce sonuçlar üretir.
- Diğer dilleri (örneğin Fransızca, Almanca) desteklemez ve para birimi biriminin sayıdan önce geldiği para birimi yapılarını işlemez (örneğin Hint İngilizcesindeki “Rupees One Hundred”).
- Çalışma kitabı makro özellikli bir çalışma kitabı (.xlsm) olarak kaydedilmediği takdirde, Excel’i kapattığınızda fonksiyon kaybolur.
- Normal .xlsx dosyası olarak kaydedilirse, tüm VBA kodları silinir.
- Makro özellikli dosyayı başkalarına gönderdiğinizde, açıldığında “Güvenlik Uyarısı – Makrolar devre dışı bırakıldı” uyarısı tetiklenir.
- Bazı kullanıcılar potansiyel güvenlik riskleri nedeniyle makroları etkinleştirmekte tereddüt edebilir ve dosyayı kullanmamayı tercih edebilir.
- Para birimi terimlerinde veya biçimlendirmede herhangi bir değişiklik, VBA kodunu manuel olarak düzenlemeyi gerektirir.
- Makrolar veya betiklerle ilgili bilgisi olmayan kullanıcılar için ideal değil.
Yöntem 3: Kutools for Excel'i kullanın (formül veya VBA gerekmez)
"Kutools for Excel"i yüklerseniz, "Sayıları Kelimelere Dönüştür" özelliğini kullanarak sayıları İngilizceye (para birimi veya düz) ve EUR, GBP, JPY vb. gibi onlarca diğer dile ve para birimine dönüştürebilirsiniz.
Excel'de sayıları kelimelere dönüştürmek için kodlama gerektirmeyen, kullanıcı dostu ve çok yönlü bir çözüm arıyorsanız, Kutools for Excel, şunları destekleyen özel bir “Sayıları Kelimelere Dönüştür” özelliği sunar:
- İngilizce (USD, GBP, EUR, vb.)
- Onlarca diğer dil ve para birimi (örneğin Japon Yeni, Hindistan Rupisi, Çin Yuanı)
- Para birimi formatı veya düz kelimeler (örneğin, "One Hundred Twenty-Three" yerine "One Hundred Twenty-Three Dollars")
Kullanım adımları:
- Dönüştürmek istediğiniz sayıları içeren hücreleri seçin.
- "Kutools" > "Metin" > "Sayıları Kelimelere Dönüştür" seçin.
- "Sayıları Para Birimi Kelimesine Dönüştür" iletişim kutusunda şunları yapmanız gerekir:
- Tercih ettiğiniz dili ve para birimi stilini seçin (örneğin USD için İngilizce – Amerika Birleşik Devletleri)
- "Tamam" düğmesine tıklayın.
Opsiyonel: Düz İngilizce kelimeler istiyorsanız ("dollar" veya "cent" olmadan) "Para birimine dönüştürme" seçeneğini işaretleyin.
Seçtiğiniz sayılar artık ayarlarınıza bağlı olarak uygun para birimi kelimelerine dönüştürülecektir.
Kutools for Excel - Excel'i 300'den fazla temel araçla güçlendirin. Sürekli ücretsiz AI özelliklerinden yararlanın! Hemen Edinin
Ters işlem: Para birimi kelimelerini sayılara dönüştürme
Elinizde İngilizce kelimelerle yazılmış bir para birimi miktarı listesi varsa, şöyle:
ve bunları Excel'de gerçek sayılara (örneğin 123.45) dönüştürmek istiyorsanız, aşağıdaki gibi özel bir VBA Kullanıcı Tanımlı Fonksiyonu (UDF) kullanabilirsiniz.

Adım 1: VBA Editörünü açın ve VBA kodunu ekleyin
- Excel çalışma kitabınızı açın.
- "Alt" + "F11" tuşlarına basarak "Microsoft Visual Basic for Applications (VBA)" editörünü açın.
- VBA editöründe "Ekle" > "Modül" seçeneğine tıklayın.
- Aşağıdaki VBA kodunu boş modül penceresine kopyalayıp yapıştırın:
Function WordsToNumber(ByVal Txt As String) As Double 'Updated by Extendoffice Dim x As Object: Set x = CreateObject("Scripting.Dictionary") Dim units, tens, specials Dim part As String, parts() As String Dim total As Double, partial As Double, multiplier As Double Dim i As Long, word As String Txt = LCase(Trim(Txt)) Txt = Replace(Txt, ",", "") Txt = Replace(Txt, "-", " ") Txt = Replace(Txt, " and ", " ") Txt = Replace(Txt, " ", " ") ' Setup basic number words x.Add "zero", 0: x.Add "one", 1: x.Add "two", 2: x.Add "three", 3 x.Add "four", 4: x.Add "five", 5: x.Add "six", 6: x.Add "seven", 7 x.Add "eight", 8: x.Add "nine", 9: x.Add "ten", 10: x.Add "eleven", 11 x.Add "twelve", 12: x.Add "thirteen", 13: x.Add "fourteen", 14 x.Add "fifteen", 15: x.Add "sixteen", 16: x.Add "seventeen", 17 x.Add "eighteen", 18: x.Add "nineteen", 19: x.Add "twenty", 20 x.Add "thirty", 30: x.Add "forty", 40: x.Add "fifty", 50 x.Add "sixty", 60: x.Add "seventy", 70: x.Add "eighty", 80 x.Add "ninety", 90: x.Add "hundred", 100: x.Add "thousand", 1000 x.Add "million", 1000000: x.Add "billion", 1000000000 Dim dollarPart As String, centPart As String Dim dollarValue As Double, centValue As Double ' Split into dollars and cents If InStr(Txt, "dollar") > 0 Then dollarPart = Trim(Split(Txt, "dollar")(0)) End If If InStr(Txt, "cent") > 0 Then centPart = Trim(Split(Txt, "cent")(0)) If InStr(centPart, "dollar") > 0 Then centPart = Trim(Split(centPart, "dollar")(1)) End If End If dollarValue = ParseWordsToNumber(dollarPart, x) centValue = ParseWordsToNumber(centPart, x) WordsToNumber = dollarValue + centValue / 100 End Function Private Function ParseWordsToNumber(ByVal Txt As String, x As Object) As Double Dim parts() As String: parts = Split(Txt, " ") Dim total As Double, current As Double Dim i As Long, val As Double For i = 0 To UBound(parts) If x.exists(parts(i)) Then val = x(parts(i)) Select Case val Case 100 If current = 0 Then current = 1 current = current * val Case Is >= 1000 If current = 0 Then current = 1 total = total + current * val current = 0 Case Else current = current + val End Select End If Next i total = total + current ParseWordsToNumber = total End Function
Adım 2: Çalışma sayfanızda fonksiyonu uygulayın
- "Alt" + "Q" tuşlarına basarak Excel'e geri dönün.
- Herhangi bir boş hücreye bu formülü girin ve "Enter" tuşuna basın. "Doldurma Tutamağı"nı aşağı doğru sürükleyerek kalan sonuçları alın. =WordsToNumber(A2)
Sonuç
Sayıları kelimelere veya kelimeleri tekrar sayılara dönüştürmek, Excel'in doğal olarak sunduğu bir şey değildir, ancak bu rehber, ihtiyaçlarınıza göre birden fazla pratik çözüm olduğunu göstermiştir:
- Microsoft 365 kullanıcıları, özellikle "ana + alt birim" yapısına sahip para birimleri için, TRANSLATE gibi modern yerleşik fonksiyonları kullanarak para birimi sayılarını İngilizce kelimelere dönüştürebilir.
- VBA kullanıcı tanımlı fonksiyonları, sayıları kelimelere çevirmede ve para birimi kelimelerini tekrar sayısal değerlere geri dönüştürmede daha fazla esneklik sunar. Ancak makro ile ilgili güvenlik endişeleri taşır ve kodlamaya aşina olan kullanıcılar için en uygunudur.
- Kutools for Excel, formül veya kodlama gerektirmeyen, en kolay, çok dilli ve özellik açısından en zengin seçenektir ve onlarca para birimini ve dili kapsar.
- Kelimeleri tekrar sayılara dönüştürmeniz gerekiyorsa, VBA çözümü bu boşluğu etkili bir şekilde doldurur, ancak doğru sonuçlar için (örneğin virgüllerin kaldırılması gibi) temizlik gerektirebilir.
Finansal belgeler hazırlıyor, çek baskılarını otomatikleştiriyor ya da sadece veri sunumunu geliştiriyorsanız, doğru yöntemi seçmek profesyonel ve doğru çıktılar elde etmenize yardımcı olur.
En İyi Ofis Verimlilik Araçları
Kutools for Excel ile Excel becerilerinizi güçlendirin ve benzersiz bir verimlilik deneyimi yaşayın. Kutools for Excel, üretkenliği artırmak ve zamandan tasarruf etmek için300'den fazla Gelişmiş Özellik sunuyor. İhtiyacınız olan özelliği almak için buraya tıklayın...
Office Tab, Ofis uygulamalarına 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.
- Yeni pencereler yerine aynı pencerede yeni sekmelerde birden fazla belge açıp oluşturun.
- Verimliliğinizi %50 artırır ve her gün yüzlerce mouse tıklaması azaltır!
Tüm Kutools eklentileri. Tek kurulum
Kutools for Office paketi, Excel, Word, Outlook & PowerPoint için eklentileri ve Office Tab Pro'yu bir araya getirir; Office uygulamalarında çalışan ekipler için ideal bir çözümdür.





- Hepsi bir arada paket — Excel, Word, Outlook & PowerPoint eklentileri + Office Tab Pro
- Tek kurulum, tek lisans — dakikalar içinde kurulun (MSI hazır)
- Birlikte daha verimli — Ofis uygulamalarında hızlı üretkenlik
- 30 günlük tam özellikli deneme — kayıt yok, kredi kartı yok
- En iyi değer — tek tek eklenti almak yerine tasarruf edin