Excel'de sayıyı kelimelere dönüştürme

  • Bunu Paylaş
Michael Brown

Bu makalede size Excel 2019, 2016, 2013 ve diğer sürümlerde para birimi sayılarını İngilizce kelimelere dönüştürmenin iki hızlı ve ücretsiz yolunu göstereceğim.

Microsoft Excel bunu ve bunu hesaplamak için harika bir programdır. Başlangıçta büyük veri dizilerini işlemek için geliştirilmiştir. Bununla birlikte, faturalar, değerlendirme veya bilançolar gibi muhasebe kayıtlarının hızlı ve etkili bir şekilde oluşturulmasına da olanak tanır.

Az ya da çok sağlam ödeme belgelerinde, sayısal değerleri kelime formlarıyla çoğaltmak gerekir. Daktilo edilmiş sayıları tahrif etmek, elle yazılanlardan çok daha zordur. Bir dolandırıcı 3000'den 8000 yapmaya çalışabilirken, "üç" yerine gizlice "sekiz" koymak neredeyse imkansızdır.

Yani ihtiyacınız olan şey Excel'de sadece sayıları kelimelere dönüştürmek değil (örneğin 123.45 "yüz yirmi üç, kırk beş"), aynı zamanda dolar ve sentleri (örneğin 29.95 $ "yirmi dokuz dolar ve doksan dokuz sent" olarak), GBP için pound ve pence, EUR için euro ve eurocents vb.

Excel'in en son sürümlerinde bile sayıları hecelemek için yerleşik bir araç yoktur, daha önceki sürümlerden bahsetmiyorum bile. Ancak Excel'in gerçekten iyi olduğu zaman budur. Tüm formüllerini kullanarak işlevselliğini her zaman geliştirebilirsiniz

kombinasyonları, VBA makroları veya üçüncü taraf eklentileri.

Aşağıda sayıları rakamlardan kelimelere dönüştürmenin iki yolunu bulacaksınız

    Ve muhtemelen Excel'de Sözcükleri Sayılara dönüştürmeniz gerekebilir

    Not: Eğer arıyorsanız sayıdan metne dönüştürme yani Excel'in sayınızı metin olarak görmesini istiyorsanız, bu biraz farklı bir şeydir. Bunun için METİN işlevini veya Excel'de sayıları metne dönüştürme bölümünde açıklanan diğer birkaç yolu kullanabilirsiniz.

    Sayıları kelimelere dönüştürmek için SpellNumber VBA makrosu

    Daha önce de belirttiğim gibi, Microsoft bu görev için bir araç eklemek istemedi. Ancak, ne kadar çok kullanıcının buna ihtiyacı olduğunu görünce, özel VBA makrosunu oluşturdular ve web sitelerinde yayınladılar. Makro, SpellNumber adının önerdiği şeyi yapar. Karşılaştığım diğer tüm makrolar Microsoft koduna dayanıyor.

    "Yazım sayısı formülü" olarak bahsedilen makroyu bulabilirsiniz. Ancak, bu bir formül değil, bir makro işlevidir veya daha kesin olmak gerekirse Excel Kullanıcı tanımlı işlev (UDF).

    Yazım sayısı seçeneği dolar ve sent yazabilir. Farklı bir para birimine ihtiyacınız varsa, " dolar " ve " cent " ile birinizin adını yazın.

    VBA konusunda bilgili değilseniz, aşağıda kodun bir kopyasını bulacaksınız. Yine de bunu çözmek istemiyorsanız veya zamanınız yoksa, lütfen bu çözümü kullanın.

    1. Sayıları hecelemeniz gereken çalışma kitabını açın.
    2. Visual Basic düzenleyici penceresini açmak için Alt+F11 tuşlarına basın.
    3. Açık birkaç kitabınız varsa, düzenleyicinin sol üst köşesindeki proje listesini kullanarak gerekli çalışma kitabının etkin olup olmadığını kontrol edin (çalışma kitabı öğelerinden biri mavi ile vurgulanır).
    4. Editör menüsünde şuraya gidin Ekleme -> Modül .
    5. YourBook - Module1 adında bir pencere görmelisiniz. Aşağıdaki çerçevedeki tüm kodu seçin ve bu pencereye yapıştırın.

      Option Explicit 'Ana Fonksiyon Fonksiyon SayıYaz( ByVal MyNumber) Dim Dollars, Cents, Temp Dim DecimalPlace, Count ReDim Place(9) As String Place(2) = " Thousand " Place(3) = " Million " Place(4) = " Billion " Place(5) = " Trillion " MyNumber = Trim(Str(MyNumber)) DecimalPlace = InStr(MyNumber, "." ) If DecimalPlace> 0 Then Cents = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & _ "00", 2)) MyNumber = Trim(Left(MyNumber, DecimalPlace - 1)) End If Count = 1 Do While MyNumber "" Temp = GetHundreds(Right(MyNumber, 3)) If Temp "" Then Dollars = Temp & Place(Count) & Dollars If Len(MyNumber)> 3 Then MyNumber = Left(MyNumber, Len(MyNumber) - 3) Else MyNumber = "" End If Count = Count + 1 Loop Select Case Dollars Case "" Dollars = "No Dollars" Case "One" Dollars = "OneDollar" 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 SpellNumber = Dollars & Cents End Function Function GetHundreds( ByVal MyNumber) Dim Result As String If Val(MyNumber) = 0 Then Exit Function MyNumber = Right( "000" & MyNumber,3) ' Yüzler basamağını dönüştür. If Mid(MyNumber, 1, 1) "0" Then Result = GetDigit(Mid(MyNumber, 1, 1)) & " Hundred " End If ' Onluklar ve birlikler basamağını dönüştür. 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 Function GetTens(TensText) Dim Result As String Result = ""' Geçici fonksiyon değerini sıfırlayın. If Val(Left(TensText, 1)) = 1 Then ' Değer 10-19 arasında ise... 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 ="Ondokuz" Case Else End Select Else ' Değer 20-99 arasındaysa... 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 " Case Else End Select Result = Result & GetDigit _ (Right(TensText, 1)) ' RetrieveEnd If GetTens = Result End Function 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

    6. Güncellenen çalışma kitabını kaydetmek için Ctrl+S tuşlarına basın.

      Çalışma kitabınızı yeniden kaydetmeniz gerekecektir. Çalışma kitabını bir makro ile kaydetmeye çalıştığınızda şu mesajı alırsınız " Aşağıdaki özellikler makro içermeyen çalışma kitabına kaydedilemez "

      Hayır'a tıklayın. Yeni bir iletişim kutusu gördüğünüzde Farklı kaydet seçeneğini seçin. " Farklı kaydet " seçeneğini seçin " Excel makro özellikli çalışma kitabı ".

    Çalışma sayfalarınızda SpellNumber makrosunu kullanma

    Şimdi şu fonksiyonu kullanabilirsiniz BüyüNumarası Excel belgelerinize girin. =HarfSayısı(A2) Burada A2, sayıyı sözcüklerle yazmanız gereken hücrenin adresidir.

    Burada sonucu görebilirsiniz:

    Voila!

    SpellNumber işlevini diğer hücrelere hızla kopyalayın.

    Sadece 1 hücreyi değil, tüm tabloyu dönüştürmeniz gerekiyorsa, fare imlecinizi formülün bulunduğu hücrenin sağ alt köşesine, küçük siyah bir çarpı işaretine dönüşene kadar getirin:

    Sol tıklayın ve formülü doldurmak için sütun boyunca sürükleyin. Sonuçları görmek için düğmeyi bırakın:

    Not: SpellNumber'ı başka bir hücreye bağlantı ile kullanırsanız, kaynak hücredeki sayı her değiştirildiğinde yazılı toplamın güncelleneceğini lütfen unutmayın.

    Numarayı doğrudan fonksiyona da girebilirsiniz, örneğin, =BüyüSayısı(29.95) (29,95 - tırnak işaretleri ve Dolar işareti olmadan).

    Excel'de sayıları hecelemek için makro kullanmanın dezavantajları

    Öncelikle, kodu ihtiyaçlarınıza göre değiştirmek için VBA bilmeniz gerekir. Kodu değiştirmeyi planladığınız her çalışma kitabı için yapıştırmanız gerekir. Aksi takdirde, makrolar içeren bir şablon dosyası oluşturmanız ve Excel'i her başlangıçta bu dosyayı yükleyecek şekilde yapılandırmanız gerekecektir.

    Makro kullanmanın ana dezavantajı, çalışma kitabını başka birine gönderirseniz, makro çalışma kitabında yerleşik olmadığı sürece bu kişi metni göremeyecektir. Yerleşik olsa bile, çalışma kitabında makro olduğuna dair bir uyarı alacaklardır.

    Özel bir eklenti kullanarak sayıları kelimelere dönüştürün

    Toplamları hızlı bir şekilde hecelemeye ihtiyaç duyan ancak VBA öğrenmeye veya geçici çözümler bulmaya vakti olmayan Excel kullanıcıları için, birkaç popüler para birimi için tutardan kelimeye dönüştürmeyi hızlı bir şekilde gerçekleştirebilen özel bir araç oluşturduk. Lütfen Excel için Ultimate Suite'imizin en son sürümüne dahil olan Spell Number eklentisiyle tanışın.

    Araç, kullanıma hazır olmasının yanı sıra, miktarları metne dönüştürme konusunda gerçekten esnektir:

    • Aşağıdaki para birimlerinden birini seçebilirsiniz: USD, EUR, GBP, BIT, AUD.
    • Kesirli kısmı sent, pennies veya bitcents olarak heceleyin.
    • Sonuç için herhangi bir metin harfi seçin: küçük harf, BÜYÜK HARF, Başlık Harfi veya Cümle Harfi.
    • Ondalık kısmı farklı şekillerde heceleyin.
    • Sıfır senti dahil edin veya hariç tutun.

    Eklenti Excel 365, Excel 2029, Excel 2016, Excel 2013 ve Excel 2010 dahil olmak üzere tüm modern sürümleri destekler. Lütfen yukarıda bağlantısı verilen ürünün ana sayfasındaki diğer özellikleri keşfetmekten çekinmeyin.

    Şimdi de bu sayı heceleme aracını iş başında görelim:

    1. Sonuç için boş bir hücre seçin.
    2. Üzerinde Ablebits sekmesinde Yardımcı Programlar grubunu seçin, tıklayın Büyü Numarası .
    3. İçinde Dökülme Numarası iletişim penceresi görüntülenir, aşağıdakileri yapılandırın:
      • için Numaranızı seçin kutusunda, metin olarak yazılmasını istediğiniz tutarı içeren hücreyi seçin.
      • İstediğiniz öğeyi belirtin şu anda , harf durumu ve bu şekilde ondalık kısım numaranın hecelenmesi gerekir.
      • Sıfır sentin dahil edilip edilmeyeceğini tanımlayın.
      • Sonucun bir değer veya formül olarak eklenip eklenmeyeceğini seçin.
    4. İletişim penceresinin alt kısmında, önizleme Eğer numaranızın yazılış şeklinden memnunsanız Büyü Aksi takdirde, farklı ayarları deneyin.

    Aşağıdaki ekran görüntüsü varsayılan seçenekleri ve B2'de yazılan sayıyı göstermektedir. Lütfen formül çubuğundaki bir formüle (daha doğrusu kullanıcı tanımlı bir işleve) dikkat edin:

    Bu da diğer para birimlerinin nasıl yazılabileceğinin hızlı bir göstergesidir:

    İpuçları ve notlar:

    • Çünkü Büyü Numarası eklentisi faturalar ve diğer finansal belgeler gibi gerçek hayattaki kullanım durumlarını işlemek için tasarlanmıştır, yalnızca bir numara bir seferde.
    • Hecelemek için sayı sütunu 'yi seçin, ilk hücreye bir formül ekleyin ve ardından formülü aşağıya kopyalayın.
    • Kaynak verilerinizin gelecekte değişme ihtimali varsa, en iyisi aşağıdakileri yapmaktır sonucu formül olarak ekleyin Böylece orijinal numara değiştikçe otomatik olarak güncellenir.
    • Seçerken formül olarak sonuç seçeneği, özel bir kullanıcı tanımlı fonksiyon (Çalışma kitabınızı Ultimate Suite'in yüklü olmadığı biriyle paylaşmayı planlıyorsanız, paylaşmadan önce formülleri değerlerle değiştirmeyi unutmayın.

    Tersine dönüştürme - İngilizce sözcükleri sayılara dönüştürme

    Açıkçası, buna neden ihtiyaç duyabileceğinizi düşünemiyorum. Her ihtimale karşı... :)

    Görünüşe göre Excel MVP'si Jerry Latham, aşağıdaki gibi bir Excel Kullanıcı tanımlı işlevi (UDF) oluşturmuştur Rakamlara Kelimeler İngilizce kelimeleri tekrar sayıya dönüştürür.

    UDF kodunu görmek için Jerry'nin WordsToDigits çalışma kitabını indirebilirsiniz. Burada ayrıca fonksiyonun nasıl kullanılacağına dair örneklerini de bulabilirsiniz.

    İşlevin nasıl çalıştığını sayfada görebilirsiniz " Örnek Girişler " bölümünde kendi örneklerinizi de girebileceksiniz. Belgelerinizde WordsToDigits kullanmayı planlıyorsanız, lütfen bu işlevin kısıtlamaları olduğunu unutmayın. Örneğin, kelimelerle girilen kesirleri tanımaz. Tüm ayrıntıları " Bilgi " sayfası.

    Michael Brown, yazılım araçlarını kullanarak karmaşık süreçleri basitleştirme tutkusuna sahip, kendini adamış bir teknoloji meraklısıdır. Teknoloji endüstrisinde on yılı aşkın deneyimiyle Microsoft Excel ve Outlook'un yanı sıra Google E-Tablolar ve Dokümanlar'daki becerilerini geliştirdi. Michael'ın blogu, bilgisini ve uzmanlığını başkalarıyla paylaşmaya, üretkenliği ve verimliliği artırmaya yönelik takip etmesi kolay ipuçları ve eğitimler sağlamaya adamıştır. İster deneyimli bir profesyonel, ister yeni başlayan olun, Michael'ın blogu, bu temel yazılım araçlarından en iyi şekilde yararlanmak için değerli bilgiler ve pratik tavsiyeler sunar.