Excel formuła do zmiany kwoty na tekst (kwota słownie bez użycia makr)

Czasami istnieje potrzeba zapisania pewnej kwoty słownie. Przykładowo osoby prowadzące działalność gospodarczą, które wystawiają maksymalnie kilka faktur miesięcznie bardzo często używają do tego celu Excela. Jest to bardzo wygodne rozwiązanie, ale w Excelu nie ma funkcji, która daną liczbę zamienia na jej słowny odpowiednik. Gdy wystawiasz jedną fakturę miesięcznie, nie jest problemem ręczne wpisanie kwoty słownie, ale wystawiając kilka faktur może to już być nieco uciążliwe.

Z pewnością znalazłeś na niejednej stronie proste makro, które dodaje do funkcji Excela niestandardową funkcję o nazwie np. Slownie. Ale nie zawsze możemy (lub nie chcemy) używać makr.

W tym celu opracowałem inne rozwiązanie. Otóż w Excelu od wersji 2013 w górę istnieje funkcja WEBSERVICE. Funkcja ta zwraca zawartość strony internetowej. Tak więc napisałem w języku PHP prostą stronę, która po wywołaniu z odpowiednim parametrem (kwota liczbowo) jako treść zwraca kwotę słownie. Przykładowo wpisując w przeglądarce internetowej adres:

https://api.officeblog.pl/slownie.php?format=2&kwota=123

Zobaczymy tekst: sto dwadzieścia trzy złote

W adresie URL owej usługi mamy dwa parametry. Jeden z nich to kwota. Tu nie muszę chyba nic tłumaczyć: jest to liczba, którą chcemy zamienić na słowny odpowiednik. Liczba może być poprzedzona znakiem minus. Aby oddzielić część całkowitą od części ułamkowej można użyć przecinka, lub kropki.

Z kolei parametr format jest opcjonalny (domyślnie 0). Mówi on w jaki sposób ma zostać sformatowana liczba. Oto dozwolone wartości tego parametru

  • 0 – zwraca liczbę słownie bez "symbolu waluty". Jeśli liczba zawiera część ułamkową, to owa część ułamkowa jest ignorowana
  • 1 – zwraca liczbę słownie używając oznaczeń waluty gr
  • 2 – zwraca liczbę słownie zwracając pełne słowo złoty (oczywiście odpowiednio odmienione) i pełne słowo groszy (też odmienione).
  • [NOWOŚĆ wrzesień 2021] 3 – zwraca liczbę słownie zwracając pełne słowo złoty (oczywiście odpowiednio odmienione) i grosze w postaci ułamka np. 21/100.

[NOWOŚĆ marzec 2022] jeśli tekst zwrócony przez moją usługę zawiera "krzaczki" (bo np. jakiś egzotyczny program nie rozpoznaje poprawnie kodowania) to możesz spróbować dodać opcjonalny parametr BOM=1, wtedy zostanie zwrócony tekst wraz z nagłówkiem BOM informującym o kodowaniu tekstu. Czyli przykładowy adres URL będzie miał wtedy postać (w przypadku Excela ten nagłówek jest niepotrzebny)

 https://api.officeblog.pl/slownie.php?format=2&BOM=1&kwota=123 

Być może nieco się rozgadałem, ale użycie mojej usługi jest banalne. Po prostu wpisz do komórki A1 jakąś liczbę a następnie w innej komórce wpisz następującą formułę:

=WEBSERVICE("https://api.officeblog.pl/slownie.php?format=2&kwota="&A1)

Pobierz przykładowy arkusz demonstrujący opisywane zagadnienie

Excel dla MacOS

Niestety, ale Excel w wersji dla MacOS (usługa subskrypcyjna Office 365, stan na czerwiec 2020) nie obsługuje funkcji WEBSERVICE.

Arkusze google

Korzystasz z usługi Google Docs? Tutaj funkcja WEBSERVICE ma nazwę IMPORTDATA

=IMPORTDATA("https://api.officeblog.pl/slownie.php?format=2&kwota="&A1)

LibreOffice Calc

W przypadku LiberOffice Calc funkcja pobierająca dane z internetu nazywa się USŁ.INTER. Czyli tak wygląda nasza formuła:

=USŁ.INTER("https://api.officeblog.pl/slownie.php?format=2&kwota="&A1)

WPS Office

Nie znalazłem funkcji, która pobiera dane z internetu

Word

Jeśli np. wystawiasz faktury w Wordzie to za pomocą specjalnego pola IncludeText również możesz skorzystać z mojego rozwiązania. Zagadnieniu temu poświęciłem osobny wpis.

Kwota słownie po angielsku

Istnieje bliźniacza usługa zwracająca kwotę słownie w języku angielskim.

Jeśli artykuł Ci się podobał, będę wdzięczny gdy go udostępnisz w mediach społecznościowych
Ten wpis został opublikowany w kategorii sztuczki i oznaczony tagami , , , , , , , , , , . Dodaj zakładkę do bezpośredniego odnośnika.

21 odpowiedzi na Excel formuła do zmiany kwoty na tekst (kwota słownie bez użycia makr)

  1. Agnieszka pisze:

    Fajny trik, ale wymagane jest połączenie z internetem 🙁

  2. mr2k pisze:

    Działa w LibreOffice, dzięki! 🙂

  3. Agnieszka pisze:

    Dziękuję 🙂 ratunek w potrzebie! Po użyciu na dużej bazie danych wyłapałam, że z kwotą "jedenaście tysięcy" jest inaczej – formuła wyrzuca pisane razem, czyli "jedenaścietysięcy". Pozdrawiam serdecznie 🙂

  4. Rysiek pisze:

    Fajne, dziękuję.

  5. Michas pisze:

    super rozwiązanie! jestem wdzięczny. Mała uwaga, przy formacie "2" nie odmienia słowa "groszy" dla liczb po przecinku większych niż 20. Np. 0,22 odmieni …dwadzieścia dwa groszy.

  6. Michas pisze:

    Ogromna prośba, czy możesz dodać jeszcze jeden format? Dla pozycji groszy ustawić formatkę 00/100.

    Stokrotne dzięki 🙂

  7. Patryk pisze:

    Dla mnie bomba, śmiga jak ta lala, dzięki! 🙂

  8. Sylwia pisze:

    rewelacja!!!

  9. Krzysiek pisze:

    Dziękuję bardzo. Naprawdę super działa w Excelu! A czy do Worda też można prosić o rozwiązanie?

  10. Paula pisze:

    Hej, a nie masz może takiej wersji po angielsku? 🙂

  11. Adam pisze:

    Hej,
    Czy jest możliwośc dodania przecinku miedzy złotówkami, a groszami?

    • Damian Daszkiewicz pisze:

      Dziękuję za sugestię, faktycznie w formie słownej gdy mamy słownie zapisane grosze to powinien być przecinek po złotówkach. Zmiana została wprowadzona.

  12. Łukasz pisze:

    Hejka, import data na google sheets przestał działać =IMPORTDATA("https://api.officeblog.pl/slownie.php?format=2&kwota="&A1)

  13. Grzegorz pisze:

    Witam,
    Od kilku dni w komórce gdzie pojawia się kwota słownie tekst przeskakuje na sam dół komórki (komórka jest scalona z trzech wierszy) tak jakby do trzeciego wiersza. żadne formatowanie niestety nie pomaga. Po zamianie na plik pdf w pierwszych dwóch pominiętych wierszach pojawia się znak zapytania, a tekst słownie dopiero w trzecim wierszu. Co może być nie tak ?

  14. adam pisze:

    Strona z funkcji chyba już nie działa?

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.