Jak przekonwertować liczbę na słowa bez VBA

Anonim

W moim poprzednim artykule wyjaśniłem, jak przekonwertować liczbę na słowa w Excelu za pomocą VBA. Aby to osiągnąć, napisałem kilka linii kodu. Ale nigdy nie wyobrażałem sobie, że możemy przekonwertować liczby na słowa, używając tylko formuł programu Excel. Ale zrobił to jeden z naszych użytkowników Excelforum. Nigdy nie wyobrażałem sobie, że możemy zamienić liczby na słowa.

Ta formuła służy do przeliczania liczby na amerykańską walutę. Ta formuła może konwertować liczby z zakresu centów na miliardy. Liczba może mieć również dwa miejsca po przecinku.

Ten użytkownik o identyfikatorze HaroonSid napisał szaloną formułę. Formuła zajmuje całą stronę i jeśli teraz o niej wspomnę, obejmie cały post. Tak więc wspomniałem o tym na końcu posta. Możesz pobrać poniższy plik Excel, aby sprawdzić formułę.

Liczba do słów

Formuła jest zbyt długa, aby wyjaśnić, ale logikę mogę wyjaśnić. Ta formuła określa, jak długa jest liczba. Następnie używa funkcji WYBIERZ, aby zastąpić liczby słowami. Ale to nie jest takie proste. Ta formuła Identyfikuje raz, dziesiątki, setki, tysiące, miliony i miliardy. Identyfikuje, który numer znajduje się w której sekcji. Jest to kolejna złożoność. Liczba 12 może być jedną lub dwiema dużymi liczbami lub dwunastoma. To powoduje dużą złożoność. Ale ten człowiek był w stanie rozwiązać tę złożoność i sprawić, by ta formuła działała wydajnie.

Więc teraz wspomnę o formule. Ten wzór dotyczy B2. Każda liczba zapisana w B2 zostanie zamieniona na słowa. Ta formuła konwertuje liczby na dolary w walucie amerykańskiej, ale możesz dostosować ją do konwersji na dowolną walutę lub jednostkę, po prostu znajdując i zastępując „Dolary” i „Centy”. Na przykład, jeśli chcesz przekonwertować liczby na rupie indyjskie i paise, po prostu znajdź i zamień.

Więc trzymaj swoje krzesło. Oto wzór.

Formuła do konwersji liczby na słowa:

=JEŻELI(LUB(DŁUG(PODŁOGA(B2,1))=13,PIĘTRO(B2,1)1,WYBIERZ(MID(TEKST(INT(B2),POWT(0,12)),3,1)+1 ,"","-jeden","-dwa","-trzy","-cztery","-pięć","-sześć","-siedem","-osiem","-dziewięć"), JEŻELI(WARTOŚĆ(MID(TEKST(INT(B2),REPT(0,12)),2,1))=0,WYBIERZ(MID(TEKST(INT(B2),REPT(0,12)),3, 1)+1,","","jeden","dwa","trzy","cztery","pięć","sześć","siedem","osiem","dziewięć")),"")), JEŻELI(B2>=10^9," miliard ",""),WYBIERZ(MID(TEKST(INT(B2),POWT(0,12)),4,1)+1,"","sto " ,"dwieście ","trzysta ","czterysta ","pięćset ","sześćset ","siedemset ","osiemset","dziewięćset "),WYBIERZ(MID(TEKST(INT( B2),REPT(0,12)),5,1)+1,"",WYBIERZ(MID(TEKST(INT(B2),REPT(0,12)),6,1)+1,"dziesięć" , "jedenaście","dwanaście","trzynaście","czternaście","piętnaście","szesnaście","siedemnaście","osiemnaście","dziewiętnaście"),"dwadzieścia","trzydzieścia","czterdzieści", "pięćdziesiąt","sześćdziesiąt","siedemdziesiąt","osiemdziesiątek","dziewięćdziesiąt"),JEŻELI(WARTOŚĆ(ŚREDNIA(TEKST(INT(B2);POWT(0,12))),5,1))>1, WYBIERZ(ŚREDNIA(TEKST(INT(B2);POWT(0,12))),6,1)+1;"","-jeden","-dwa","-trzy","-cztery"," -pięć","-sześć","-siedem","-osiem","-dziewięć"),JEŻELI(WARTOŚĆ(ŚREDNIA(TEKST(INT(B2)),POWT(0,12)) )),5,1))=0,WYBIERZ(ŚREDNI(TEKST(INT(B2),POWT(0,12)),6,1)+1,"","jeden","dwa","trzy ","cztery","pięć","sześć","siedem","osiem","dziewięć"),"")),JEŻELI(WARTOŚĆ(ŚREDNIA(TEKST(INT(B2)),POWT(0,12)) )),4,3))>0," mln ",""),WYBIERZ(ŚREDNI(TEKST(INT(B2),POWT(0,12)),7,1)+1,"","jeden sto "," dwieście ","trzysta ","czterysta ","pięćset ","sześćset ","siedemset ","osiemset","dziewięćset "),WYBIERZ(MID(TEKST() INT(B2),REPT(0,12)),8,1)+1,"",WYBIERZ(MID(TEKST(INT(B2),REPT(0,12)),9,1)+1," dziesięć","jedenaście","dwanaście","trzynaście","czternaście","piętnaście","szesnaście","siedemnaście","osiemnaście","dziewiętnaście"),"dwadzieścia","trzydzieścia","czterdzieści ","pięćdziesiąt","sześćdziesiąt","siedemdziesiąt","osiemdziesiąt","dziewięćdziesiąt"),JEŻELI(WARTOŚĆ(ŚREDNIA(TEKST(INT(B2);POWT(0,12))),8,1))> 1,WYBIERZ(ŚREDNIA(TEKST(INT(B2);POWT(0,12));9,1)+1;"","-jeden","-dwa","-trzy","-cztery" ,"-pięć","-sześć","-siedem","-osiem","-dziewięć"),JEŻELI(WARTOŚĆ(ŚREDNIA(TEKST(INT(B2),POWT(0,12))),8, 1))=0,WYBIERZ(ŚREDNI(TEKST(INT(B2);POWT(0,12));9,1)+1;"","jeden","dwa","trzy","cztery" ,"pięć","sześć","siedem","osiem","dziewięć"),"")),JEŻELI(WARTOŚĆ(ŚREDNIA(TEKST(INT(B2)),POWT(0,1)) 2)),7,3))," tysiąc ",""),WYBIERZ(MID(TEKST(INT(B2);POWT(0,12)),10,1)+1,"","sto ","dwieście ","trzysta ","czterysta ","pięćset ","sześćset ","siedemset ","osiemset ","dziewięćset "),WYBIERZ(MID(TEKST(INT) (B2),REPT(0,12)),11,1)+1,"",WYBIERZ(MID(TEKST(INT(B2),REPT(0,12)),12,1)+1,"dziesięć "," jedenaście","dwanaście","trzynaście","czternaście","piętnaście","szesnaście","siedemnaście","osiemnaście","dziewiętnaście"),"dwadzieścia","trzydzieścia","czterdzieści" ,"pięćdziesiąt","sześćdziesiąt","siedemdziesiąt","osiemdziesiątek","dziewięćdziesiąt"),JEŻELI(WARTOŚĆ(ŚREDNIA(TEKST(INT(B2);POWT(0,12))),11,1))>1 ,WYBIERZ(ŚREDNIA(TEKST(INT(B2);POWT(0,12)),12,1)+1;"","-jeden","-dwa","-trzy","-cztery", "-pięć","-sześć","-siedem","-osiem","-dziewięć"),JEŻELI(WARTOŚĆ(ŚREDNIA(TEKST(INT(B2);POWT(0,12))),11,1 ))=0,WYBIERZ(ŚREDNI(TEKST(INT(B2);POWT(0,12)),12,1)+1;"","jeden","dwa","trzy","cztery", "pięć","sześć","siedem","osiem","dziewięć")),")),""," ")&JEŻELI(PODŁOGA(B2,1)>1,"dolary"," dolar "))&JEŻELI(CZY.BŁĄD(ZNAJDŹ(".",B2,1)),""," i "&WŁAŚCIWE(JEŻELI(LEN(LEWY(PRZYC.(MID(SUBSTITUTE(Arkusz1!B2,."),POWT)(")) ",255)),255,200)),2))=1,WYBIERZ(1*LEWO(T OBR(ŚREDNI(PODSTAW(Arkusz1!B2".",POWT("";255));255;200));2)","dziesięć","dwadzieścia","trzydzieścia","czterdzieści","pięćdziesiąt", „sześćdziesiąt”, „siedemdziesiąt”, „osiemdziesiąt”, „dziewięćdziesiąt”) i „centów”, „”) & ZŁĄCZ. REPT(" ",255)),255,200)),2)),REPT(0,12)),11,1)+1,"",CHOOSE(MID(TEKST(INT(LEWO(TRIM(MID(SUBSTITUTE)) (Arkusz1!B2,".",REPT("",255)),255,200)),2)),REPT(0,12)),12,1)+1","dziesięć","jedenaście", dwanaście","trzynaście","czternaście","piętnaście","szesnaście","siedemnaście","osiemnaście","dziewiętnaście")&"centów","dwadzieścia","trzydzieścia","czterdzieści","pięćdziesiąt ”,„sześćdziesiąt”,„siedemdziesiąt”,„osiemdziesiąt”,„dziewięćdziesiąt”),JEŻELI(WARTOŚĆ(ŚRODEK(TEKST(INT(LEWY(PRZYC.(ŚRODEK(SUBSTITUTE(Arkusz1!B2).",POWT(" ", 255)),255,200)),2)),REPT(0,12)),11,1))>1,CHOOSE(MID(TEKST(INT(LEFT(TRIM(MID(SUBSTITUTE(Arkusz1!B2)). ",REPT(" ",255)),255,200)),2)),REPT(0,12)),12,1)+1,"","-jeden","-dwa","-trzy ","-cztery","-pięć","-sześć","-siedem","-osiem","-dziewięć")&"centów",JEŻELI(LEWO(PRZYCIĘCIE(ŚREDNI(ZMIANA(Arkusz1!B2)) ,".",REPT(" ",255)),255,200)),2)="01","jeden cent",IF(LEFT(TRIM(MID(SUBSTITUTE(Arkusz1!B2,."),REPT() " ",255)),255,200)),1)="0",WYBIERZ(MID(TEKST(INT(LEFT(TRIM(MID(SUBSTITUTE(Arkusz1!B2,."),REPT(" ",255)))) ,255,200)),2)),REPT(0,12)),12,1)+1,"","jeden","dwa","trzy","cztery","pięć","sześć" ,"siedem", "osiem", "dziewięć") i "centów", "")))))))

Więc tak, to jest formuła. Jak ci się podoba? Mam nadzieję, że ci się przyda. Jeśli nie chcesz tego używać, użyj metody VBA do konwersji liczb na słowa. Jeśli masz jakiekolwiek wątpliwości dotyczące tego artykułu lub masz inne pytania dotyczące programu Excel, zadaj je również w sekcji komentarzy poniżej.

Jak przekonwertować liczbę na słowa w programie Excel w rupiach? : Możemy stworzyć niestandardową formułę Excela, aby przekonwertować liczby na słowa w rupiach indyjskich. Stworzyłem tę niestandardową funkcję do konwersji liczb na słowa w rupiach indyjskich. Możesz pobrać plik makra

13 sposobów na przyspieszenie programu Excel | Excel jest wystarczająco szybki, aby obliczyć 6,6 miliona formuł w ciągu 1 sekundy w idealnych warunkach na komputerze o normalnej konfiguracji. Ale czasami obserwujemy pliki Excel wykonujące obliczenia wolniej niż ślimaki. Jest wiele przyczyn tego wolniejszego działania. Jeśli możemy je zidentyfikować, możemy przyspieszyć obliczenia naszych formuł.

Wyśrodkuj arkusz Excela poziomo i pionowo na stronie Excel : Program Microsoft Excel umożliwia wyrównanie arkusza roboczego na stronie, zmianę marginesów, określenie marginesów niestandardowych lub wyśrodkowanie arkusza roboczego w poziomie lub w pionie na stronie. Marginesy strony to puste przestrzenie między danymi arkusza roboczego a krawędziami drukowanej strony

Podziel komórkę po przekątnej w programie Microsoft Excel 2016 : Aby podzielić komórki po przekątnej, używamy formatowania komórek i wstawiamy do komórki ukośną linię podziału. To oddziela komórki wizualnie po przekątnej.

Jak wstawić znacznik wyboru w programie Excel 2016? : Aby wstawić znacznik wyboru w komórce Excela, używamy symboli w Excelu. Ustaw czcionki na wingdings i użyj formuły Char(252), aby uzyskać symbol znacznika wyboru.

Jak wyłączyć blokadę przewijania w programie Excel? : Klawisze strzałek w programie Excel przesuwają komórkę w górę, w dół, w lewo i w prawo. Ale ta funkcja ma zastosowanie tylko wtedy, gdy funkcja Scroll Lock w programie Excel jest wyłączona. Scroll Lock w programie Excel służy do przewijania w górę, w dół, w lewo iw prawo arkusza roboczego, a nie komórki. Więc ten artykuł pomoże ci sprawdzić stan blokady przewijania i jak ją wyłączyć?

Co zrobić, jeśli Excel łamie linki nie działa : Kiedy pracujemy z kilkoma plikami Excela i używamy formuły do ​​wykonania pracy, celowo lub nieumyślnie tworzymy łącza między różnymi plikami. Normalne linki formuł można łatwo zerwać za pomocą opcji przerw w linkach.

Popularne artykuły:

50 skrótów Excela, które zwiększą Twoją produktywność | Przyspiesz swoje zadanie. Te 50 skrótów przyspieszy pracę w programie Excel.

Jak korzystać z funkcji WYSZUKAJ.PIONOWO programu Excel| Jest to jedna z najczęściej używanych i popularnych funkcji programu Excel, która służy do wyszukiwania wartości z różnych zakresów i arkuszy.

Jak korzystać z Excela LICZ.JEŻELI Funkcja| Policz wartości z warunkami za pomocą tej niesamowitej funkcji. Nie musisz filtrować danych, aby policzyć konkretną wartość. Funkcja Countif jest niezbędna do przygotowania deski rozdzielczej.

Jak korzystać z funkcji SUMIF w programie Excel? | To kolejna ważna funkcja deski rozdzielczej. Pomaga to zsumować wartości w określonych warunkach.