Jak převést číslo na slova v aplikaci Excel

  • Sdílet Toto
Michael Brown

V tomto článku vám ukážu dva rychlé a bezplatné způsoby převodu čísel měn na anglická slova v aplikacích Excel 2019, 2016, 2013 a dalších verzích.

Microsoft Excel je skvělý program pro výpočet toho a onoho. Původně byl vyvinut ke zpracování velkých datových polí. Umožňuje však také rychle a efektivně vytvářet účetní záznamy, jako jsou faktury, hodnocení nebo rozvahy.

Ve víceméně solidních platebních dokladech je nutné duplikovat číselné hodnoty jejich slovní podobou. Zfalšovat napsaná čísla je mnohem těžší než ta, která jsou napsaná rukou. Nějaký podvodník se může pokusit z 3000 udělat 8000, zatímco tajně nahradit "tři" za "osm" je téměř nemožné.

V Excelu tedy potřebujete nejen převádět čísla na slova (např. 123,45 na "sto dvacet tři, čtyřicet pět"), ale také hláskovat dolary a centy (např. 29,95 USD jako "dvacet devět dolarů a devadesát devět centů" ), libry a pence pro GBP, eura a eurocenty pro EUR atd.

Ani nejnovější verze Excelu nemají vestavěný nástroj pro hláskování čísel, o dřívějších verzích nemluvě. V tom je však Excel opravdu dobrý. Jeho funkce můžete vždy vylepšit pomocí vzorců ve všech jejich

kombinace, makra VBA nebo doplňky třetích stran.

Níže najdete dva způsoby převodu čísel z číslic na slova.

    A možná budete potřebovat převést slova na čísla v aplikaci Excel.

    Poznámka: Pokud hledáte převod čísla na text , což znamená, že chcete, aby Excel viděl vaše číslo jako text, je to trochu jiná věc. K tomu můžete použít funkci TEXT nebo několik dalších způsobů popsaných v článku Jak změnit čísla na text v Excelu.

    Makro SpellNumber VBA pro převod čísel na slova

    Jak jsem se již zmínil, společnost Microsoft nechtěla přidat nástroj pro tuto úlohu. Když však viděla, kolik uživatelů ji potřebuje, vytvořila a na svých webových stránkách zveřejnila speciální makro VBA. Makro dělá to, co naznačuje jeho název SpellNumber. Všechna ostatní makra, na která jsem narazil, vycházejí z kódu společnosti Microsoft.

    Makro můžete najít pod názvem "spellnumber formula". Nejedná se však o vzorec, ale o makrofunkci, přesněji řečeno o funkci Uživatelsky definovaná funkce aplikace Excel (UDF).

    Volba hláskového čísla umí zapisovat dolary a centy. Pokud potřebujete jinou měnu, můžete změnit " dolar " a " cent " s názvem vašeho.

    Pokud nejste zběhlí ve VBA, níže najdete kopii kódu. Pokud to přesto nechcete nebo nemáte čas řešit, použijte toto řešení.

    1. Otevřete sešit, ve kterém potřebujete hláskovat čísla.
    2. Stisknutím klávesové zkratky Alt+F11 otevřete okno editoru jazyka Visual Basic.
    3. Pokud máte otevřeno více sešitů, zkontrolujte, zda je potřebný sešit aktivní, pomocí seznamu projektů v levém horním rohu editoru (jeden z prvků sešitu je zvýrazněn modře).
    4. V nabídce editoru přejděte na Vložte -> Modul .
    5. Mělo by se zobrazit okno s názvem YourBook - Module1. Vyberte celý kód v rámečku níže a vložte jej do tohoto okna.

      Option Explicit 'Main Function Function SpellNumber( 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 = "One.Dolar" 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 GetHundreds( ByVal MyNumber) Dim Result As String If Val(MyNumber) = 0 Then Exit Function MyNumber = Right( "000" & MyNumber,3) ' Převod na místo stovek: If Mid(MyNumber, 1, 1) "0" Then Result = GetDigit(Mid(MyNumber, 1, 1)) & " Hundred " End If ' Převod na místo desítek a jedniček: 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 GetTens(TensText) Dim Result As String Result = ""' Null out the temporary function value. If Val(Left(TensText, 1)) = 1 Then ' If value between 10-19... 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 ="Devatenáct" Case Else End Select Else ' Pokud hodnota mezi 20-99... Select Case Val(Left(TensText, 1)) Case 2: Výsledek = "Dvacet " Case 3: Výsledek = "Třicet " Case 4: Výsledek = "Čtyřicet " Case 5: Výsledek = "Padesát " Case 6: Výsledek = "Šedesát " Case 7: Výsledek = "Sedmdesát " Case 8: Výsledek = "Osmdesát " Case 9: Výsledek = "Devadesát " Case Else End Select Výsledek = Výsledek & GetDigit _ (Right(TensText, 1)) ' RetrieveKonec If GetTens = Result Konec funkce Funkce 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 Konec funkce

    6. Stisknutím klávesové zkratky Ctrl+S uložte aktualizovaný sešit.

      Budete muset sešit znovu uložit. Při pokusu o uložení sešitu s makrem se zobrazí zpráva " V sešitě bez maker nelze uložit následující funkce "

      Klikněte na tlačítko Ne. Po zobrazení nového dialogového okna vyberte možnost Uložit jako. V poli " Uložit jako typ " vyberte možnost " Sešit aplikace Excel s podporou maker ".

    Použití makra SpellNumber v pracovních listech

    Nyní můžete použít funkci SpellNumber v dokumentech Excelu. Zadejte =Číslo hlásky(A2) do buňky, kde potřebujete získat číslo zapsané slovy. Zde A2 je adresa buňky s číslem nebo částkou.

    Zde vidíte výsledek:

    Voila!

    Rychlé kopírování funkce SpellNumber do jiných buněk.

    Pokud potřebujete převést celou tabulku, nikoli pouze jednu buňku, umístěte kurzor myši do pravého dolního rohu buňky se vzorcem, dokud se nezmění v malý černý křížek:

    Klikněte levým tlačítkem myši a přetáhněte jej přes sloupec, abyste vyplnili vzorec. Uvolněte tlačítko, abyste viděli výsledky:

    Poznámka: Mějte na paměti, že pokud použijete funkci SpellNumber s odkazem na jinou buňku, bude zapsaný součet aktualizován při každé změně čísla ve zdrojové buňce.

    Číslo můžete zadat také přímo do funkce, například, =Číslo hlásky(29.95) (29,95 - bez uvozovek a znaku dolaru).

    Nevýhody použití makra pro hláskování čísel v aplikaci Excel

    Nejprve je nutné znát jazyk VBA, abyste mohli kód upravit podle svých potřeb. Je nutné vložit kód pro každý sešit, kde jej plánujete změnit. V opačném případě budete muset vytvořit soubor šablony s makry a nastavit Excel tak, aby tento soubor načítal při každém spuštění.

    Hlavní nevýhodou použití makra je, že pokud sešit pošlete někomu jinému, tato osoba text neuvidí, pokud není makro zabudováno do sešitu. A i když je zabudováno, dostane upozornění, že v sešitě jsou makra.

    Hláskování čísel do slov pomocí speciálního doplňku

    Pro uživatele aplikace Excel, kteří potřebují rychle hláskovat částky, ale nemají čas učit se VBA nebo vymýšlet řešení, jsme vytvořili speciální nástroj, který dokáže rychle provést převod částky na slova pro několik oblíbených měn. Seznamte se s doplňkem Spell Number, který je součástí nejnovější verze naší sady Ultimate Suite pro aplikaci Excel.

    Kromě toho, že je nástroj připraven k použití, je skutečně flexibilní při převodu částek na text:

    • Můžete si vybrat jednu z následujících měn: USD, EUR, GBP, BIT, AUD.
    • Vypište zlomek v centech, haléřích nebo bitcentech.
    • Pro výsledek můžete zvolit libovolnou velikost textu: malá písmena, velká písmena, velká písmena nadpisů nebo velká písmena vět.
    • Napište desetinnou část různými způsoby.
    • Zahrnout nebo vynechat nulové centy.

    Doplněk podporuje všechny moderní verze včetně Excelu 365, Excelu 2029, Excelu 2016, Excelu 2013 a Excelu 2010. Neváhejte prozkoumat další možnosti na domovské stránce produktu, na kterou odkazujeme výše.

    A nyní se podívejme na tento nástroj pro hláskování čísel v akci:

    1. Pro výsledek vyberte prázdnou buňku.
    2. Na Ablebits na kartě Komunální služby klikněte na tlačítko Číslo kouzla .
    3. V Číslo úniku v zobrazeném dialogovém okně nakonfigurujte následující položky:
      • Pro Zvolte své číslo vyberte buňku obsahující částku, která se má zapsat jako text.
      • Zadejte požadované v současné době , velikost písmen a způsob, jakým desetinná část čísla by se mělo psát.
      • Určete, zda se mají zahrnout nulové centy, nebo ne.
      • Zvolte, zda chcete výsledek vložit jako hodnotu nebo vzorec.
    4. V dolní části dialogového okna, náhled Pokud jste se zapsaným číslem spokojeni, klikněte na tlačítko Kouzlo . V opačném případě vyzkoušejte jiná nastavení.

    Následující snímek obrazovky demonstruje výchozí volby a psané číslo v B2. Všimněte si vzorce (přesněji řečeno uživatelsky definované funkce) v panelu vzorců:

    A toto je rychlá ukázka toho, jak se dají vypsat další měny:

    Tipy a poznámky:

    • Protože Číslo kouzla doplněk byl navržen tak, aby zvládal reálné případy použití, jako jsou faktury a jiné finanční dokumenty, a dokáže převádět pouze jedno číslo najednou.
    • Hláskování sloupec čísel , vložte vzorec do první buňky a poté vzorec zkopírujte dolů.
    • Pokud existuje možnost, že se vaše zdrojová data v budoucnu změní, je nejlepší. vložte výsledek jako vzorec , takže se při změně původního čísla automaticky aktualizuje.
    • Při výběru výsledek jako vzorec možnost, vlastní uživatelsky definovaná funkce (UDF) je vložen. Pokud plánujete sdílet sešit s někým, kdo nemá nainstalovanou sadu Ultimate Suite, nezapomeňte před sdílením nahradit vzorce hodnotami.

    Obrácená konverze - anglická slova na čísla

    Upřímně řečeno, nedokážu si představit, k čemu by vám to mohlo být. Jen pro jistotu... :)

    Zdá se, že Jerry Latham, MVP aplikace Excel, vytvořil takovou uživatelsky definovanou funkci (UDF) aplikace Excel, jako je. WordsToDigits . Převádí anglická slova zpět na čísla.

    Můžete si stáhnout Jerryho sešit WordsToDigits a prohlédnout si kód UDF. Najdete zde také jeho příklady použití funkce.

    Funkci si můžete prohlédnout na listu " Ukázkové položky ", kde budete moci zadávat i vlastní příklady. Pokud plánujete funkci WordsToDigits používat ve svých dokumentech, upozorňujeme, že tato funkce má svá omezení. Například nerozpoznává zlomky zadané ve slovech. Veškeré podrobnosti najdete na stránce " Informace " list.

    Michael Brown je oddaný technologický nadšenec s vášní pro zjednodušování složitých procesů pomocí softwarových nástrojů. S více než desetiletými zkušenostmi v technologickém průmyslu zdokonalil své dovednosti v aplikacích Microsoft Excel a Outlook a také v Tabulkách a Dokumentech Google. Michaelův blog je věnován sdílení jeho znalostí a odborných znalostí s ostatními a poskytuje snadno pochopitelné tipy a návody pro zlepšení produktivity a efektivity. Ať už jste zkušený profesionál nebo začátečník, Michaelův blog nabízí cenné postřehy a praktické rady, jak tyto základní softwarové nástroje co nejlépe využít.