Kuidas teisendada number sõnadeks ilma VBA -ta

Anonim

Oma eelmises artiklis olin selgitanud, kuidas teisendada arv VBA abil Excelis sõnadeks. Selle saavutamiseks olin kirjutanud mitmeid koodiridu. Kuid ma polnud kunagi ette kujutanud, et saame Exceli valemite abil numbrid sõnadeks teisendada. Kuid üks meie Excelforumi kasutajatest tegi seda. Ma polnud kunagi ette kujutanud, et saame numbrid sõnadeks teisendada.

Seda valemit kasutatakse arvu konverteerimiseks Ameerika vääringusse. See valem võib teisendada numbreid vahemikusendidest miljarditesse. Numbril võib olla ka kaks kohta pärast koma.

See kasutaja Id HaroonSidiga kirjutas hullumeelse valemi. Valem on leheküljepikkune ja kui ma seda siin nüüd mainin, hõlmab see kogu postitust. Niisiis, ma mainisin seda postituse lõpus. Valemi kontrollimiseks saate alla laadida Exceli faili allpool.

Sõnade arv

Valem on liiga pikk, et seda selgitada, kuid ma saan loogikat seletada. See valem määrab arvu pikkuse. Seejärel kasutab see funktsiooni CHOOSE, et asendada numbrid sõnadega. Kuid see pole nii lihtne. See valem tuvastab ühe korra, kümneid, sadu, tuhandeid, miljoneid ja miljardeid. See tuvastab, milline number millisesse sektsiooni kuulub. Teine keerukus on see. Number 12 võib olla üks või kaks suurel hulgal või kaksteist. See lisab palju keerukust. Kuid see mees suutis selle keerukuse lahendada ja selle valemi tõhusalt tööle panna.

Nii et nüüd mainin valemit. See valem kehtib B2 kohta. Kõik B2 -s kirjutatud numbrid teisendatakse sõnadeks. See valem teisendab numbrid Ameerika valuuta dollaritesse, kuid saate seda muuta mis tahes valuutaks või ühikuks, lihtsalt leidke ja asendage "Dollars" ja "Cents". Näiteks kui soovite teisendada numbrid India ruupiateks ja Paise'ideks, leidke ja asendage need.

Nii et hoidke oma tooli. Siin on valem.

Valem arvu teisendamiseks sõnadeks:

= IF (VÕI (LEN (FLOOR (B2,1))) = 13, FLOOR (B2,1) 1, CHOOSE (MID (TEXT (INT (B2), REPT (0,12)), 3,1) +1 , "", "-üks", "-kaks", "-kolm", "-neli", "-viis", "-kuus", "-seitse", "-kaheksa", "-üheksa"), IF (VALUE (MID (TEXT (INT (B2), REPT (0,12)), 2,1)) = 0, CHOOSE (MID (TEXT (INT (B2), REPT (0,12))), 3, 1) +1, "", "üks", "kaks", "kolm", "neli", "viis", "kuus", "seitse", "kaheksa", "üheksa"), "")), IF (B2> = 10^9, "miljard", ""), VALI (MID (TEXT (INT (B2), REPT (0,12)), 4,1) +1, "", "sada" , "kakssada", "kolmsada", "nelisada", "viissada", "kuussada", "seitsesada", "kaheksasada", "üheksasada"), VALI (MID (TEXT (INT ( B2), REPT (0,12)), 5,1) +1, "", VALI (KESK (TEKST (INT (B2), REPT (0,12)), 6,1) +1, "kümme" , "üksteist", "kaksteist", "kolmteist", "neliteist", "viisteist", "kuusteist", "seitseteist", "kaheksateist", "üheksateist"), "kakskümmend", "kolmkümmend", "nelikümmend", "viiskümmend", "kuuskümmend", "seitsekümmend", "kaheksakümmend", "üheksakümmend"), KUI (VÄÄRTUS (KESK (TEKST (INT (B2), REPT (0,12)), 5,1))> 1, VALI (MID (TEXT (INT (B2), REPT (0,12)), 6,1) +1, "", "-üks", "-kaks", "-kolm", "-neli", " -viis ","-kuus ","-seitse ","-kaheksa ","-üheksa "), IF (VÄÄRTUS (KESK (TEKST (INT (B2)), REPT (0,12) )), 5,1)) = 0, VALI (KESK (TEKST (INT (B2), REPT (0,12)), 6,1) +1, "", "üks", "kaks", "kolm "," neli "," viis "," kuus "," seitse "," kaheksa "," üheksa ")," ")), IF (VÄÄRTUS (KESK (TEKST (INT (B2)))), REPT (0,12) )), 4,3))> 0, "miljon", ""), VALI (MID (TEKST (INT (B2), REPT (0,12)), 7,1) +1, "", "üks sada "," kakssada "," kolmsada "," nelisada "," viissada "," kuussada "," seitsesada "," kaheksasada "," üheksasada "), VALI (MID (TEXT ( INT (B2), REPT (0,12)), 8,1) +1, "", VALI (KESK (TEKST (INT (B2), REPT (0,12)), 9,1) +1, " kümme "," üksteist "," kaksteist "," kolmteist "," neliteist "," viisteist "," kuusteist "," seitseteist "," kaheksateist "," üheksateist ")," kakskümmend "," kolmkümmend "," nelikümmend " "," viiskümmend "," kuuskümmend "," seitsekümmend "," kaheksakümmend "," üheksakümmend "), KUI (VÄÄRTUS (KESK (TEKST (INT (B2), REPT (0,12)), 8,1))> 1, VALI (MID (TEXT (INT (B2), REPT (0,12)), 9,1) +1, "", "-üks", "-kaks", "-kolm", "-neli" , "-viis", "-kuus", "-seitse", "-kaheksa", "-üheksa"), IF (VÄÄRTUS (KESK (TEKST (INT (B2), REPT (0,12)), 8, 1)) = 0, VALI (MID (TEKST (INT (B2), REPT (0,12)), 9,1) +1, "", "üks", "kaks", "kolm", "neli" , "viis", "kuus", "seitse", "kaheksa", "üheksa"), "")), IF (VALUE (MID (TEXT (INT (B2)), REPT (0,1 2)), 7,3)), "tuhat", ""), VALI (KESK (TEKST (INT (B2), REPT (0,12)), 10,1) +1, "", "sada "," kakssada "," kolmsada "," nelisada "," viissada "," kuussada "," seitsesada "," kaheksasada "," üheksasada "), VALI (MID (TEXT (INT (B2), REPT (0,12)), 11,1) +1, "", VALI (KESK (TEKST (INT (B2), REPT (0,12)), 12,1) +1, "kümme "," üksteist "," kaksteist "," kolmteist "," neliteist "," viisteist "," kuusteist "," seitseteist "," kaheksateist "," üheksateist ")," kakskümmend "," kolmkümmend "," nelikümmend " , "viiskümmend", "kuuskümmend", "seitsekümmend", "kaheksakümmend", "üheksakümmend"), KUI (VÄÄRTUS (KESK (TEKST (INT (B2), REPT (0,12))), 11,1))> 1 , VALI (MID (TEXT (INT (B2), REPT (0,12)), 12,1) +1, "", "-üks", "-kaks", "-kolm", "-neli", "-viis", "-kuus", "-seitse", "-kaheksa", "-üheksa"), IF (VÄÄRTUS (KESK (TEKST (INT (B2), REPT (0,12)), 11,1 )) = 0, VALI (MID (TEKST (INT (B2), REPT (0,12)), 12,1) +1, "", "üks", "kaks", "kolm", "neli", "viis", "kuus", "seitse", "kaheksa", "üheksa"), ""))), "", "") & IF (KORRUS (B2,1)> 1, "dollarit", "dollar ")) & IF (ISERROR (FIND (". ", B2,1))", "" ja "& PROPER (IF (LEN (LEFT (TRIM (MID (SUBSTITUTE (Sheet1! B2,".)), REPT (" ", 255)), 255 200)), 2)) = 1, VALI (1*VASAK (T RIM (MID (asendaja (leht 1! B2, ".", REPT ("", 255)), 255 200)), 2), "kümme", "kakskümmend", "kolmkümmend", "nelikümmend", "viiskümmend", "kuuskümmend", "seitsekümmend", "kaheksakümmend", "üheksakümmend") ja "senti", "") & KONCENTAAT (VALI REPT ("", 255)), 255 200)), 2)), REPT (0,12)), 11,1) +1, "", VALI (KESK (TEKST (SISSE (VASAK (Leht1! B2, ".", REPT ("", 255)), 255 200)), 2)), REPT (0,12)), 12,1) +1, "kümme", "üksteist", " kaksteist "," kolmteist "," neliteist "," viisteist "," kuusteist "," seitseteist "," kaheksateist "," üheksateist ") &" senti "," kakskümmend "," kolmkümmend "," nelikümmend "," viiskümmend " "," kuuskümmend "," seitsekümmend "," kaheksakümmend "," üheksakümmend "), IF (VALUE (MID (TEXT (INT (LEFT (TRIM (MID (SUBSTITUTE (Sheet1! B2,")), REPT ("", 255)), 255,200)), 2)), REPT (0,12)), 11,1))> 1, VALI (KESK (TEKST (SISSE (VASAK (TRIM (KESK (ASENDAJA (leht 1! B2)). ", REPT (" ", 255)), 255 200)), 2)), REPT (0,12)), 12,1) +1," ","-üks ","-kaks ","-kolm ","-neli ","-viis ","-kuus ","-seitse ","-kaheksa ","-üheksa ") ja" senti ", KUI (LEFT (TRIM (MID (SUBSTITUTE (Sheet1! B2) , ".", REPT ("", 255)), 255 200)), 2) = "01", "üks sent", IF (LEFT (TRIM (MID (SUBSTITUTE (Sheet1! B2, ".))), REPT ( "", 255)), 255 200)), 1) = "0", VALI (MID (TEXT (INT (LEFT (TRIM (MID (SUBSTITUTE (Sheet1! B2, ".)), REPT (" ", 255)) , 255,200)), 2)), REPT (0,12)), 12,1) +1, "", "üks", "kaks", "kolm", "neli", "viis", "kuus" , "seitse", "kaheksa", "üheksa") ja "senti", "")))))))

Nii et jah, see on valem. Kuidas sulle see meeldib? Loodan, et see on teile kasulik. Kui te ei soovi seda kasutada, kasutage numbrite sõnadeks teisendamiseks VBA meetodit. Kui teil on selle artikli osas kahtlusi või kui teil on muid Exceliga seotud küsimusi, küsige seda ka allolevas kommentaaride jaotises.

Kuidas teisendada arv Excelis ruupiates sõnadeks : Saame luua kohandatud Exceli valemi, et teisendada numbrid India ruupiate sõnadeks. Olen loonud selle kohandatud funktsiooni, et teisendada numbrid sõnadeks India ruupiatena. Makrofaili saate alla laadida

13 Exceli kiirendamise meetodid | Excel on piisavalt kiire, et arvutada ideaalsetes tingimustes tavalise konfiguratsiooniga arvutiga 6,6 miljonit valemit 1 sekundiga. Kuid mõnikord täheldame, et Exceli failid arvutavad aeglasemalt kui teod. Selle aeglasema jõudluse taga on palju põhjuseid. Kui suudame need kindlaks teha, saame oma valemid kiiremini arvutada.

Keskendage Exceli leht Exceli lehele horisontaalselt ja vertikaalselt : Microsoft Excel võimaldab teil lehe töölehte joondada, veeriseid muuta, kohandatud veeriseid määrata või töölehe lehe horisontaalselt või vertikaalselt tsentreerida. Lehe veerised on tühjad ruumid töölehe andmete ja prinditud lehe servade vahel

Lahtri jagamine diagonaalselt Microsoft Excel 2016 -s : Lahtrite diagonaalseks jagamiseks kasutame lahtri vormingut ja sisestame lahtrisse diagonaalselt eraldava joone. See eraldab rakud visuaalselt diagonaalselt.

Kuidas Excelis 2016 märkida? : Excelis lahtrisse linnukese sisestamiseks kasutame Excelis sümboleid. Seadke fondid tiibadeks ja kasutage linnukese sümboli saamiseks valemit Char (252).

Scroll Locki keelamine Excelis : Exceli nooleklahvid liigutavad lahtrit üles, alla, vasakule ja paremale. Kuid see funktsioon on rakendatav ainult siis, kui Exceli Scroll Lock on keelatud. Scroll Locki Excelis kasutatakse töölehe üles, alla, vasakule ja paremale kerimiseks, mitte lahtrisse. Nii et see artikkel aitab teil kerimisluku olekut kontrollida ja selle keelata?

Mida teha, kui Exceli katkestuslingid ei tööta : Kui töötame mitme Exceli failiga ja kasutame töö tegemiseks valemit, loome tahtlikult või tahtmatult linke erinevate failide vahel. Tavaliste valemi linke saab hõlpsasti katkestada, kasutades katkestusvalikut.

Populaarsed artiklid:

50 Exceli otseteed tootlikkuse suurendamiseks | Saa oma ülesandega kiiremini hakkama. Need 50 otseteed aitavad teil Excelis veelgi kiiremini töötada.

Kuidas kasutada funktsiooni Excel VLOOKUP| See on üks enim kasutatud ja populaarsemaid Exceli funktsioone, mida kasutatakse erinevate vahemike ja lehtede väärtuse otsimiseks.

Kuidas Excelit kasutada Funktsioon COUNTIF| Loendage väärtused tingimustega, kasutades seda hämmastavat funktsiooni. Te ei pea konkreetse väärtuse loendamiseks oma andmeid filtreerima. Countif funktsioon on armatuurlaua ettevalmistamisel hädavajalik.

Funktsiooni SUMIF kasutamine Excelis | See on veel üks armatuurlaua oluline funktsioon. See aitab teil teatud tingimustel väärtusi kokku võtta.