Hur konverterar man tal till ord utan VBA

Anonim

I min tidigare artikel hade jag förklarat hur man konverterar ett tal till ord i Excel med VBA. Jag hade skrivit ett antal kodrader för att uppnå detta. Men jag hade aldrig föreställt mig att vi kan konvertera tal till ord genom att bara använda excelformler. Men en av våra Excelforum -användare gjorde det. Jag hade aldrig föreställt mig att vi kunde konvertera siffror till ord.

Denna formel används för att konvertera ett tal till amerikansk valuta. Denna formel kan konvertera siffror från intervallcent till miljarder. Siffran kan också ha två decimaler.

Denna användare med Id HaroonSid skrev en galen formel. Formeln är en sida lång och om jag kommer att nämna det här nu kommer det att täcka hela inlägget. Så jag har nämnt det i slutet av inlägget. Du kan ladda ner Excel -filen nedan för att kontrollera formeln.

Nummer till ord

Formeln är för lång för att förklara men jag kan förklara logiken. Denna formel avgör hur långt talet är. Sedan använder den funktionen VÄLJ för att ersätta siffror med orden. Men det här är inte så lätt. Denna formel identifierar en gång, tiotals, hundratals, tusentals, miljoner och miljarder. Det identifierar vilket nummer som kommer i vilket avsnitt. En annan komplexitet är detta. Siffran 12 kan vara en eller två i stort antal eller tolv. Detta bidrar till mycket komplexitet. Men den här mannen kunde lösa denna komplexitet och få denna formel att fungera effektivt.

Så nu nämner jag formeln. Denna formel gäller B2. Alla nummer som skrivs i B2 kommer att konverteras till ord. Denna formel konverterar siffror till amerikanska valutadollar, men du kan justera den för att konvertera till valfri valuta eller enhet genom att bara hitta och ersätta "Dollars" och "Cents". Till exempel, om du vill konvertera nummer till indiska rupier och Paise är det bara att hitta och ersätta.

Så håll din stol. Här är formeln.

Formel för att konvertera tal till ord:

= OM (ELLER (LENG (GOLV (B2,1)) = 13, GOLV (B2,1) 1, VÄLJ (MELLAN (TEXT (INT (B2), REPT (0,12))), 3,1) +1 , "", "-en", "-två", "-tre", "-fyra", "-fem", "-sex", "-sju", "-åtta", "-nio"), IF (VALUE (MID (TEXT (INT (B2), REPT (0,12))), 2,1)) = 0, VÄLJ (MID (TEXT (INT (B2), REPT (0,12)), 3, 1) +1, "", "en", "två", "tre", "fyra", "fem", "sex", "sju", "åtta", "nio"), "")), OM (B2> = 10^9, "miljard", ""), VÄLJ (MIDT (TEXT (INT (B2), REPT (0,12))), 4,1) +1, "", "hundra" , "tvåhundra", "trehundra", "fyrahundra", "femhundra", "sexhundra", "sjuhundra", "åttahundra", "niohundra"), VÄLJ (MID (TEXT (INT ( B2), REPT (0,12)), 5,1) +1, "", VÄLJ (MIDT (TEXT (INT (B2), REPT (0,12))), 6,1) +1, "tio" , "elva", "tolv", "tretton", "fjorton", "femton", "sexton", "sjutton", "arton", "nitton"), "tjugo", "trettio", "fyrtio", "femtio", "sextio", "sjuttio", "åttio", "nittio"), IF (VÄRDE (MIDD (TEXT (INT (B2), REPT (0,12))), 5,1))> 1, VÄLJ (MIDT (TEXT (INT (B2), REPT (0,12))), 6,1) +1, "", "-en", "-två", "-tre", "-fyra", " -fem ","-sex ","-sju ","-åtta ","-nio "), OM (VÄRDE (MIDD (TEXT (INT (B2), REPT (0,12) )), 5,1)) = 0, VÄLJ (MIDT (TEXT (INT (B2), REPT (0,12))), 6,1) +1, "", "en", "två", "tre "," fyra "," fem "," sex "," sju "," åtta "," nio ")," ")), IF (VÄRDE (MIDD (TEXT (INT (B2), REPT (0,12) )), 4,3))> 0, "miljoner", ""), VÄLJ (MIDT (TEXT (INT (B2), REPT (0,12))), 7,1) +1, "", "en hundra "," tvåhundra "," trehundra "," fyrahundra "," femhundra "," sexhundra "," sjuhundra "," åttahundra "," niohundra "), VÄLJ (MID (TEXT ( INT (B2), REPT (0,12)), 8,1) +1, "", VÄLJ (MIDT (TEXT (INT (B2), REPT (0,12))), 9,1) +1, " tio "," elva "," tolv "," tretton "," fjorton "," femton "," sexton "," sjutton "," arton "," nitton ")," tjugo "," trettio "," fyrtio " "," femtio "," sextio "," sjuttio "," åttio "," nittio "), IF (VÄRDE (MIDD (TEXT (INT (B2), REPT (0,12))), 8,1))> 1, VÄLJ (MIDD (TEXT (INT (B2), REPT (0,12))), 9,1) +1, "", "-en", "-två", "-tre", "-fyra" , "-fem", "-sex", "-sju", "-åtta", "-nio"), IF (VÄRDE (MIDD (TEXT (INT (B2), REPT (0,12))), 8, 1)) = 0, VÄLJ (MID (TEXT (INT (B2), REPT (0,12)), 9,1) +1, "", "en", "två", "tre", "fyra" , "fem", "sex", "sju", "åtta", "nio"), ""))) OM (VÄRDE (MIDD (TEXT (INT (B2), REPT (0,1 2)), 7,3)), "tusen", "")), VÄLJ (MIDT (TEXT (INT (B2), REPT (0,12))), 10,1) +1, "", "hundra "," tvåhundra "," trehundra "," fyrahundra "," femhundra "," sexhundra "," sjuhundra "," åttahundra "," niohundra "), VÄLJ (MID (TEXT (INT (B2), REPT (0,12)), 11,1) +1, "", VÄLJ (MIDT (TEXT (INT (B2), REPT (0,12))), 12,1) +1, "tio "," elva "," tolv "," tretton "," fjorton "," femton "," sexton "," sjutton "," arton "," nitton ")," tjugo "," trettio "," fyrtio " , "femtio", "sextio", "sjuttio", "åttio", "nittio"), IF (VÄRDE (MIDD (TEXT (INT (B2), REPT (0,12))), 11,1))> 1 , VÄLJ (MIDT (TEXT (INT (B2), REPT (0,12))), 12,1) +1, "", "-en", "-två", "-tre", "-fyra", "-five", "-sex", "-sju", "-åtta", "-nio"), IF (VÄRDE (MIDD (TEXT (INT (B2), REPT (0,12))), 11,1 )) = 0, VÄLJ (MIDT (TEXT (INT (B2), REPT (0,12))), 12,1) +1, "", "en", "två", "tre", "fyra", "fem", "sex", "sju", "åtta", "nio"), ""))), "", "") & IF (FLOOR (B2,1)> 1, "dollar", "dollar ")) & IF (ERERROR (FIND (". ", B2,1))," "," och "& PROPER (IF (LEN (VÄNSTER (TRIM (MIDD (ERSTÄLLNING (BLAD1! B2,". ", REPT (" ", 255)), 255,200)), 2)) = 1, VÄLJ (1*VÄNSTER (T FÄLG (MIDDEL (ERSÄTTNING (Ark1! B2, ".", REPT ("", 255)), 255.200)), 2), "tio", "tjugo", "trettio", "fyrtio", "femtio", "sextio", "sjuttio", "åttio", "nittio") & "cent", "") & KONCATENERA (VÄLJ (MIDT (TEXT (INT (VÄNSTER (TRIM (MIDT (ERSÄTTNING (Blad1! B2, ".", REPT ("", 255)), 255,200)), 2)), REPT (0,12)), 11,1) +1, "", VÄLJ (MIDT (TEXT (INT (VÄNSTER (TRIM (MIDT)) (Ark1! B2, ".", REPT ("", 255)), 255.200)), 2)), REPT (0,12)), 12,1) +1, "tio", "elva", " tolv "," tretton "," fjorton "," femton "," sexton "," sjutton "," arton "," nitton ") &" cent "," tjugo "," trettio "," fyrtio "," femtio " "," sextio "," sjuttio "," åttio "," nittio "), IF (VÄRDE (MIDD (TEXT (INT (VÄNSTER (TRIM (MIDD (ERSTÄLLNING (BLAD1! B2,". ", REPT (" ", 255)), 255,200)), 2)), REPT (0,12)), 11,1))> 1, VÄLJ (MIDT (TEXT (INT (VÄNSTER (TRIM (MID (ERSÄTTNING) (Ark1! B2, ")). ", REPT (" ", 255)), 255,200)), 2)), REPT (0,12)), 12,1) +1," ","-en ","-två ","-tre ","-fyra ","-fem ","-sex ","-sju ","-åtta ","-nio ") &" cent ", IF (VÄNSTER (TRIM (MIDD (ERSTÄLLNING (Ark1! B2) , ".", REPT ("", 255)), 255,200)), 2) = "01", "en cent", IF (VÄNSTER (TRIM (MIDD (ERSÄTTNING (BILD1! B2, ".", REPT ( "", 255)), 255,200)), 1) = "0", VÄLJ (MIDT (TEXT (INT (VÄNSTER (TRIM (MIDD (ERSTÄLLNING (Ark1! B2, ".", REPT ("", 255))) , 255 200)), 2)), REPT (0,12)), 12,1) +1, "", "en", "två", "tre", "fyra", "fem", "sex" , "sju", "åtta", "nio") och "cent", ""))))))))

Så ja, det här är formeln. Hur vill du ha det? Jag hoppas att det är användbart för dig. Om du inte vill använda detta använder du VBA -metoden för att konvertera tal till ord. Om du har några tvivel angående denna artikel eller om du har andra Excel -relaterade frågor, ställ det också i kommentarfältet nedan.

Hur konverterar man tal till ord i Excel i rupier : Vi kan skapa en anpassad Excel -formel för att konvertera tal till ord i indiska rupier. Jag har skapat den här anpassade funktionen för att konvertera nummer till ord när det gäller indiska rupier. Du kan ladda ner makrofilen

13 Metoder för att påskynda Excel | Excel är tillräckligt snabbt för att beräkna 6,6 miljoner formler på 1 sekund under idealiska förhållanden med normal konfigurations -dator. Men ibland observerar vi excel -filer som gör beräkningen långsammare än sniglar. Det finns många anledningar bakom denna långsammare prestanda. Om vi ​​kan identifiera dem kan vi få våra formler att beräkna snabbare.

Centrera Excel -blad horisontellt och vertikalt på Excel -sidan : Med Microsoft Excel kan du justera kalkylbladet på en sida, du kan ändra marginaler, ange anpassade marginaler eller centrera kalkylbladet horisontellt eller vertikalt på sidan. Sidmarginaler är de tomma utrymmena mellan kalkylbladets data och kanterna på den utskrivna sidan

Dela en cell diagonalt i Microsoft Excel 2016 : För att dela celler diagonalt använder vi cellformateringen och sätter in en diagonalt delande linje i cellen. Detta separerar cellerna diagonalt visuellt.

Hur sätter jag in en bock i Excel 2016 : För att infoga en bock i Excel Cell använder vi symbolerna i Excel. Ställ in teckensnittet på wingdings och använd formeln Char (252) för att få symbolen för en bock.

Så här inaktiverar du rullningslås i Excel : Piltangenterna i Excel flyttar din cell upp, ner, vänster och höger. Men den här funktionen är endast tillämplig när rullningslås i Excel är inaktiverat. Scroll Lock i Excel används för att rulla upp, ner, vänster och höger i ditt kalkylblad, inte i cellen. Så den här artikeln hjälper dig hur du kontrollerar rullningslåsstatus och hur du inaktiverar den?

Vad ska jag göra om Excel -brytlänkar inte fungerar : När vi arbetar med flera excel -filer och använder formel för att få jobbet gjort, skapar vi avsiktligt eller oavsiktligt länkar mellan olika filer. Normala formellänkar kan enkelt brytas genom att använda alternativet brytlänkar.

Populära artiklar:

50 Excel -genvägar för att öka din produktivitet | Bli snabbare på din uppgift. Dessa 50 genvägar får dig att arbeta ännu snabbare med Excel.

Hur man använder Excel VLOOKUP -funktion| Detta är en av de mest använda och populära Excel -funktionerna som används för att leta upp värde från olika intervall och ark.

Hur man använder Excel COUNTIF -funktion| Räkna värden med förhållanden med denna fantastiska funktion. Du behöver inte filtrera dina data för att räkna specifikt värde. Countif -funktionen är avgörande för att förbereda din instrumentpanel.

Hur man använder SUMIF -funktionen i Excel | Detta är en annan viktig instrumentpanel. Detta hjälper dig att summera värden på specifika förhållanden.