Obsah
V tomto článku vám ukážem dva rýchle a bezplatné spôsoby prevodu čísel mien na anglické slová v aplikácii Excel 2019, 2016, 2013 a iných verziách.
Microsoft Excel je skvelý program na výpočet toho a toho. Pôvodne bol vyvinutý na spracovanie veľkých dátových polí. Umožňuje však aj rýchle a efektívne vytváranie účtovných záznamov, ako sú faktúry, vyhodnotenie alebo súvahy.
Vo viac-menej solídnych platobných dokladoch je potrebné číselné hodnoty duplikovať ich slovnou podobou. Je oveľa ťažšie sfalšovať strojom napísané čísla ako tie, ktoré sú napísané rukou. Nejaký podvodník sa môže pokúsiť z 3000 urobiť 8000, zatiaľ čo je takmer nemožné tajne nahradiť "tri" za "osem".
V programe Excel teda nepotrebujete len prevádzať čísla na slová (napr. 123,45 na "stodvadsaťtri štyridsaťpäť"), ale aj hláskovať doláre a centy (napr. 29,95 USD ako "dvadsaťdeväť dolárov a deväťdesiatdeväť centov" ), libry a pence pre britské libry, eurá a eurocenty pre eurá atď.
Dokonca ani najnovšie verzie programu Excel nemajú zabudovaný nástroj na hláskovanie čísel, nehovoriac o starších verziách. Vtedy je však Excel naozaj dobrý. Jeho funkčnosť môžete vždy vylepšiť pomocou vzorcov vo všetkých ich
kombinácie, makrá VBA alebo doplnky tretích strán.
Nižšie nájdete dva spôsoby prevodu čísel z číslic na slová
A možno budete musieť previesť slová na čísla v programe Excel
Poznámka: Ak hľadáte prevod čísla na text , čo znamená, že chcete, aby Excel videl vaše číslo ako text, je to trochu iná vec. Na to môžete použiť funkciu TEXT alebo niekoľko ďalších spôsobov popísaných v časti Ako zmeniť čísla na text v programe Excel.
Makro SpellNumber VBA na prevod čísel na slová
Ako som už spomínal, spoločnosť Microsoft nechcela pridať nástroj na túto úlohu. Keď však videla, koľko používateľov ho potrebuje, vytvorila a na svojej webovej stránke zverejnila špeciálne makro VBA. Makro robí to, čo naznačuje jeho názov SpellNumber. Všetky ostatné makrá, na ktoré som narazil, vychádzajú z kódu spoločnosti Microsoft.
Makro môžete nájsť pod názvom "spellnumber formula". Nejde však o vzorec, ale o makrofunkciu, presnejšie Funkcia definovaná používateľom programu Excel (UDF).
Možnosť hláskovania dokáže zapisovať doláre a centy. Ak potrebujete inú menu, môžete zmeniť " dolár " a " cent " s menom vášho.
Ak nie ste zbehlí vo VBA, nižšie nájdete kópiu kódu. Ak to stále nechcete alebo nemáte čas riešiť, použite toto riešenie.
- Otvorte zošit, v ktorom potrebujete hláskovať čísla.
- Stlačením klávesovej skratky Alt+F11 otvorte okno editora jazyka Visual Basic.
- Ak máte otvorených niekoľko kníh, skontrolujte, či je potrebný zošit aktívny, pomocou zoznamu projektov v ľavom hornom rohu editora (jeden z prvkov zošita je zvýraznený modrou farbou).
- V ponuke editora prejdite na položku Vložte -> Modul .
- Malo by sa zobraziť okno s názvom YourBook - Module1. Vyberte celý kód v rámčeku nižšie a vložte ho do tohto 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 = "OneDolár" Prípad Inak Doláre = Doláre & " Doláre" Koniec Select Select Prípad Centy Prípad "" Centy = " a žiadne centy" Prípad "Jeden" Centy = " a jeden cent" Prípad Inak Centy = " a " & Centy & " Centy" Koniec Select SpellNumber = Doláre & Centy End Function GetHundreds( ByVal MyNumber) Dim Result As String If Val(MyNumber) = 0 Then Exit Function MyNumber = Right( "000" & MyNumber,3) ' Prevod na miesto stoviek. If Mid(MyNumber, 1, 1) "0" Then Result = GetDigit(Mid(MyNumber, 1, 1)) & " Hundred " End If ' Prevod na miesto desiatok a jednotiek. 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 ="Devätnásť" Case Else End Select Else ' Ak je hodnota medzi 20-99... Select Case Val(Left(TensText, 1)) Case 2: Result = "Dvadsať " Case 3: Result = "Tridsať " Case 4: Result = "Štyridsať " Case 5: Result = "Päťdesiat " Case 6: Result = "Šesťdesiat " Case 7: Result = "Sedemdesiat " Case 8: Result = "Osemdesiat " Case 9: Result = "Deväťdesiat " 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
- Stlačením klávesovej skratky Ctrl+S uložte aktualizovaný zošit.
Budete musieť zošit znovu uložiť. Pri pokuse o uloženie zošita s makrom sa zobrazí správa " V zošite bez makier nie je možné uložiť nasledujúce funkcie "
Kliknite na tlačidlo Nie. Keď sa zobrazí nové dialógové okno, vyberte možnosť Uložiť ako. V poli " Uložiť ako typ " vyberte možnosť " Pracovný zošit Excel s podporou makier ".
Používanie makra SpellNumber v pracovných hárkoch
Teraz môžete použiť funkciu SpellNumber v dokumentoch Excelu. Zadajte =Číslo hlásky(A2)
do bunky, do ktorej potrebujete dostať číslo napísané slovami. Tu je A2 adresa bunky s číslom alebo sumou.
Tu môžete vidieť výsledok:
Voila!
Rýchle kopírovanie funkcie SpellNumber do iných buniek.
Ak potrebujete previesť celú tabuľku, nielen jednu bunku, umiestnite kurzor myši do pravého dolného rohu bunky so vzorcom, kým sa nezmení na malý čierny krížik:
Kliknutím ľavým tlačidlom myši a ťahaním po stĺpci vyplňte vzorec. Ak chcete zobraziť výsledky, uvoľnite tlačidlo:
Poznámka: Majte na pamäti, že ak použijete funkciu SpellNumber s odkazom na inú bunku, zapísaný súčet sa aktualizuje pri každej zmene čísla v zdrojovej bunke.
Číslo môžete zadať aj priamo do funkcie, napríklad, =Číslo hlásky(29.95)
(29,95 - bez úvodzoviek a znaku dolára).
Nevýhody používania makier na hláskovanie čísel v programe Excel
V prvom rade musíte ovládať jazyk VBA, aby ste mohli upraviť kód podľa svojich potrieb. Je potrebné vložiť kód pre každý zošit, v ktorom ho plánujete zmeniť. V opačnom prípade budete musieť vytvoriť súbor šablóny s makrami a nastaviť Excel tak, aby tento súbor načítal pri každom spustení.
Hlavnou nevýhodou používania makier je, že ak zošit pošlete niekomu inému, táto osoba text neuvidí, pokiaľ makro nie je zabudované v zošite. A aj keď je zabudované, dostane upozornenie, že v zošite sú makrá.
Hláskovanie čísel do slov pomocou špeciálneho doplnku
Pre používateľov programu Excel, ktorí potrebujú rýchlo hláskovať sumy, ale nemajú čas učiť sa VBA alebo vymýšľať obchádzky, sme vytvorili špeciálny nástroj, ktorý dokáže rýchlo vykonať prevod sumy na slová pre niekoľko populárnych mien. Zoznámte sa s doplnkom Spell Number, ktorý je súčasťou najnovšej verzie nášho balíka Ultimate Suite for Excel.
Okrem toho, že je nástroj pripravený na použitie, je skutočne flexibilný pri konverzii súm na text:
- Môžete si vybrať jednu z týchto mien: USD, EUR, GBP, BIT, AUD.
- Vypíšte zlomkovú časť v centoch, centoch alebo bitcentoch.
- Pre výsledok vyberte ľubovoľnú veľkosť textu: malé písmená, veľké písmená, veľké písmená nadpisu alebo veľké písmená vety.
- Desatinnú časť píšte rôznymi spôsobmi.
- Zahrňte alebo vynechajte nulové centy.
Doplnok podporuje všetky moderné verzie vrátane aplikácií Excel 365, Excel 2029, Excel 2016, Excel 2013 a Excel 2010. Neváhajte preskúmať ďalšie možnosti na domovskej stránke produktu, na ktorú odkazujeme vyššie.
A teraz sa pozrime na tento nástroj na hláskovanie čísel v praxi:
- Vyberte prázdnu bunku pre výsledok.
- Na Ablebits na karte Komunálne služby kliknite na položku Číslo kúzla .
- V Číslo úniku v zobrazenom dialógovom okne nakonfigurujte nasledujúce položky:
- Pre Vyberte svoje číslo vyberte bunku obsahujúcu sumu, ktorá sa má zapísať ako text.
- Zadajte požadovanú v súčasnosti , veľkosť písmen a spôsob, akým desatinná časť čísla by sa malo písať.
- Definujte, či sa majú zahrnúť nulové centy alebo nie.
- Vyberte, či chcete výsledok vložiť ako hodnotu alebo vzorec.
- V spodnej časti dialógového okna, náhľad Ak ste spokojní s tým, ako je vaše číslo napísané, kliknite na tlačidlo Zaklínadlo . V opačnom prípade vyskúšajte iné nastavenia.
Nasledujúca snímka obrazovky demonštruje predvolené voľby a napísané číslo v B2. Všimnite si vzorec (presnejšie, používateľom definovanú funkciu) v paneli vzorcov:
A toto je rýchla ukážka toho, ako sa dajú vypísať ďalšie meny:
Tipy a poznámky:
- Pretože Číslo kúzla bol navrhnutý na spracovanie reálnych prípadov použitia, ako sú faktúry a iné finančné dokumenty, dokáže konvertovať iba jedno číslo naraz.
- Hláskovanie stĺpec čísel , vložte vzorec do prvej bunky a potom ho skopírujte nadol.
- Ak existuje možnosť, že sa vaše zdrojové údaje v budúcnosti zmenia, je najlepšie vložte výsledok ako vzorec , takže sa automaticky aktualizuje pri zmene pôvodného čísla.
- Pri výbere výsledok ako vzorec možnosť, vlastný používateľom definovaná funkcia (UDF) je vložený. Ak plánujete zdieľať svoj zošit s niekým, kto nemá nainštalovaný balík Ultimate Suite, nezabudnite pred zdieľaním nahradiť vzorce hodnotami.
Obrátená konverzia - anglické slová na čísla
Úprimne povedané, neviem si predstaviť, prečo by ste ho mohli potrebovať. Len pre prípad... :)
Zdá sa, že MVP programu Excel, Jerry Latham, vytvoril takú funkciu definovanú používateľom (UDF) programu Excel ako WordsToDigits . Prevádza anglické slová späť na čísla.
Môžete si stiahnuť Jerryho zošit WordsToDigits a pozrieť si kód UDF. Nájdete tu aj jeho príklady použitia funkcie.
Ako funkcia funguje, si môžete pozrieť na hárku " Vzorové položky ", kde budete môcť zadávať aj svoje vlastné príklady. Ak plánujete používať funkciu WordsToDigits vo svojich dokumentoch, upozorňujeme vás, že táto funkcia má obmedzenia. Napríklad nerozoznáva zlomky zadané v slovách. Všetky podrobnosti nájdete na stránke " Informácie " hárok.