Skip to main content

Kutools for Office — Bir Paket. Beş Araç. Daha Fazla İş Yapın.

Excel'de sayıları kelimelere dönüştürme – kapsamlı bir rehber

Author Xiaoyang Last modified

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.

A screenshot showing converting numbers to words in Excel

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.

  1. 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"))
  2. "Enter" tuşuna basın ve "Doldurma Tutamağı"nı aşağı doğru sürükleyerek diğer satırlara uygulayın.
    A screenshot showing how to use the new function to convert numbers to words

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 BirimiAna Birim DeğişikliğiAlt 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

  1. Bu özelliği kullanmak istediğiniz çalışma sayfasını açın.
  2. "Alt" + "F11" tuşlarına basarak "Microsoft Visual Basic for Applications" penceresini açın.
  3. 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
    A screenshot showing the code editor
  4. "Alt" + "Q" tuşlarına basarak çalışma sayfasına geri dönün.

Adım 2: Fonksiyonu uygulama

  1. Bir hücreye aşağıdaki formülü girin ve "Enter" tuşuna basın.
    =SpellNumberToEnglish(A2)
  2. 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:
    A screenshot showing the user-defined function and the results

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.

A screenshot showing how to change the codes to adapt for other currencies

Ç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:

  1. "Ctrl" + "S" tuşlarına basarak kaydedin.
  2. 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.
    A screenshot showing how to change the codes to adapt for other currencies
  3. "Farklı Kaydet" penceresinde.
    1. Kayıt konumu seçin.
    2. "Farklı Kaydet" açılır listesinde "Excel Makro Özellikli Çalışma Kitabı (*.xlsm)" seçin.
    3. "Kaydet"e tıklayın.
      A screenshot showing how to change the codes to adapt for other currencies

SpellNumberToEnglish VBA Fonksiyonunun Sınırlamaları

Birden fazla dil desteği yok
  • 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”).
Standart Excel dosyalarında kaydedilmez
  • Ç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.
Paylaşırken makro güvenlik uyarısı
  • 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.
Özelleştirme için VBA bilgisi gerektirir
  • 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ı:

  1. Dönüştürmek istediğiniz sayıları içeren hücreleri seçin.
  2. "Kutools" > "Metin" > "Sayıları Kelimelere Dönüştür" seçin.
  3. "Sayıları Para Birimi Kelimesine Dönüştür" iletişim kutusunda şunları yapmanız gerekir:
    1. Tercih ettiğiniz dili ve para birimi stilini seçin (örneğin USD için İngilizce – Amerika Birleşik Devletleri)
    2. "Tamam" düğmesine tıklayın.
      A screenshot showing the numbers to currency word dialog box

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:

"Yüz yirmi üç dolar ve kırk beş sent"

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

  1. Excel çalışma kitabınızı açın.
  2. "Alt" + "F11" tuşlarına basarak "Microsoft Visual Basic for Applications (VBA)" editörünü açın.
  3. VBA editöründe "Ekle" > "Modül" seçeneğine tıklayın.
  4. 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

  1. "Alt" + "Q" tuşlarına basarak Excel'e geri dönün.
  2. 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)
    A screenshot showing how to convert words to numbers

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 AI Asistanı: Veri analizinde devrim yaratın – Akıllı Yürütme | Kod Oluştur | Özel Formüller Oluştur | Verileri Analiz Et ve Grafikler Oluştur | Kutools Fonksiyonlarını Çağır
Popüler Özellikler: Yinelenenleri Bul, Vurgula veya İşaretle | Boş Satırları Sil | Sütunları veya Hücreleri Veriyi Kaybetmeden Birleştir | Formül olmadan Yuvarla...
Süper ARA: Çoklu Kriter VLookup | Çoklu Değer VLookup | Çoklu sayfa araması | Bulanık Eşleme....
Gelişmiş Açılır Liste: Hızlıca Açılır Liste Oluştur | Bağımlı Açılır Liste | Çoklu seçimli Açılır Liste....
Sütun Yöneticisi: Belirli Sayıda Sütun Ekle | Sütunları Taşı | Gizli Sütunların Görünürlük Durumunu Değiştir | Aralıkları & Sütunları Karşılaştır...
Öne Çıkan Özellikler: Izgara Odaklama | Tasarım Görünümü | Gelişmiş formül çubuğu | Çalışma Kitabı & Çalışma Sayfası Yöneticisi | Otomatik Metin Kütüphanesi | Tarih Seçici | Veri Birleştir | Hücreleri Şifrele/Şifre Çöz | Listeye Göre E-posta Gönder | Süper Filtre | Özel Filtre (kalın/italik/üstü çizili filtreleme...)...
En İyi15 Araç Takımı:12 Metin Aracı (Metin Ekle, Belirli Karakterleri Sil, ...) | 50+ Grafik Türü (Gantt Grafiği, ...) | 40+ Pratik Formül (Doğum tarihine dayanarak yaş hesapla, ...) | 19 Ekleme Aracı (QR Kodu Ekle, Yoldan Resim Ekle, ...) | 12 Dönüşüm Aracı (Kelimeye Dönüştür, Para Birimi Dönüştürme, ...) | 7 Birleştirme & Bölme Aracı (Gelişmiş Satırları Birleştir, Hücreleri Böl, ...) | ... ve dahası
Kutools'u tercih ettiğiniz dilde kullanın – İngilizce, İspanyolca, Almanca, Fransızca, Çince ve40+ diğer dili destekler!

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.

Excel Word Outlook Tabs PowerPoint
  • 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