Excel Forum - Porady, Pomoc,  Excel Help, Excel FAQ Strona Główna
 FAQ  RegulaminRegulamin  Szukaj   Użytkownicy   Grupy   Rejestracja   Profil   Twoje wiadomości   Zaloguj 


Poprzedni temat «» Następny temat
ID tematu: 63903 Skopiuj do schowka Algorytm zaokrąglający do określonych końcówek - ceny
Autor Wiadomość
tomason1991
Starszy Forumowicz


Posty: 26
Wysłany: 23-01-2019, 10:08   Algorytm zaokrąglający do określonych końcówek - ceny

Witam.

Celem jest stworzenie algorytmu zaokrąglającego liczbę do "ładnej ceny".
Z 9 i 5 poradziłem sobie, ale z resztą nie daje rady :(

Wszystko opisane w załączniku.

Pozdrawiam

formuła cenowa.xlsx
Pobierz Plik ściągnięto 27 raz(y) 9.56 KB

ID posta: 361096 Skopiuj do schowka
 
 
Waldek 
ExcelSpec


Wersja: Win Office 2019
Pomógł: 136 razy
Posty: 672
Wysłany: 23-01-2019, 12:10   Re: Algorytm zaokrąglający do określonych końcówek - ceny

Opis nie zgadza się z przykładami. Np. na jakiej zasadzie zaokrąglasz cenę 32,25zł do 32,00zł kiedy w opisie jest: "bez zaokrągleń".
tomason1991 napisał/a:
...
Z 9 i 5 poradziłem sobie, ale z resztą nie daje rady :(
...
Jak poradziłeś sobie z 9 i 5? W załączonym pliku nie ma formuł tylko wpisane wartości.
ID posta: 361119 Skopiuj do schowka
 
 
keri85 
Exceloholic


Pomógł: 48 razy
Posty: 103
Wysłany: 23-01-2019, 12:30   

@Waldek ma racje nie wszystkie opisy są zgodne z przykładami.
Ja bardziej sugerowałem się przykładami.
Ale przetestuj formułę zawartą w pliku.

formuła cenowa.xlsx
Pobierz Plik ściągnięto 23 raz(y) 10.38 KB

ID posta: 361127 Skopiuj do schowka
 
 
Maciej Gonet 
Excel Expert


Wersja: Win Office 2016
Pomógł: 1303 razy
Posty: 4486
Wysłany: 23-01-2019, 12:38   

Ten opis jest rzeczywiście bardzo nieprecyzyjny. Co z końcówkami groszowymi, wygląda jakby były najpierw zaokrąglane do pełnego złotego na ogólnych zasadach, a potem dopiero ta liczba całkowita była "zaokrąglana marketingowo". Pominięto w ogóle wartości na granicach przedziałów 100 i 500. Są tylko mniejsze i większe.
ID posta: 361128 Skopiuj do schowka
 
 
Waldek 
ExcelSpec


Wersja: Win Office 2019
Pomógł: 136 razy
Posty: 672
Wysłany: 23-01-2019, 13:28   

Maciej Gonet, akurat na granicy przedziałów jest jasne, z 500 ma zrobić 499 a ze 100 ma zrobić 99. Ale pozostałe uwagi są słuszne. Też się zastanawiałem dlaczego w przykładzie 55,66 jest zamienione na 57,00 a nie na 56,00.
ID posta: 361136 Skopiuj do schowka
 
 
tomason1991
Starszy Forumowicz


Posty: 26
Wysłany: 23-01-2019, 13:59   

Dziękuję za odpowiedź,

Wartości do pełnych setek zawsze -1, czyli 100->99.
Dziesiętne miało zaokrąglać do 0, ale to nie ważne
Przykład 55,55 był błędny.

Poprawiona wersja w załączniku.
Przepraszam za niejasności. :cry:

Pozdrawiam

formuła cenowa.xlsx
Pobierz Plik ściągnięto 24 raz(y) 9.57 KB

ID posta: 361140 Skopiuj do schowka
 
 
Maciej Gonet 
Excel Expert


Wersja: Win Office 2016
Pomógł: 1303 razy
Posty: 4486
Wysłany: 23-01-2019, 15:01   

Zakładam, że wyjściowa cena jest liczbą całkowitą >=1. Jeśli nie, trzeba ją zaokrąglić. Formuła odnosząca się do A17:
Kod:
=A17-WYBIERZ(1+(A17>100)+(A17>500);MOD(A17;10)=0;MOD(A17;10)-WYSZUKAJ(MOD(A17;10);{0\1\3\6\8;-1\2\5\7\9});MOD(A17;10)-WYSZUKAJ(MOD(A17;10);{0\1\6;-1\5\9}))
Zapis stałych tablicowych dla Excela 2010+.

formuła cenowa2.xlsx
Pobierz Plik ściągnięto 24 raz(y) 10.02 KB

ID posta: 361146 Skopiuj do schowka
 
 
keri85 
Exceloholic


Pomógł: 48 razy
Posty: 103
Wysłany: 23-01-2019, 15:54   

Wyjściowa cena może być dowolną liczbą.
Kod:
=JEŻELI(A17<100;
JEŻELI(ORAZ(MOD(ZAOKR(A17;0);10)=0;ZAOKR(A17;0)<>0);ZAOKR(A17;0)-1;A17);
JEŻELI(A17=100;ZAOKR(A17;0)-1;
JEŻELI(ORAZ(A17>100;A17<500);
JEŻELI(LUB(MOD(ZAOKR(A17;0);10)=1;MOD(ZAOKR(A17;0);10)=2);ZAOKR.W.DÓŁ.DOKŁ(A17;10)+2;
JEŻELI(LUB(MOD(ZAOKR(A17;0);10)=3;MOD(ZAOKR(A17;0);10)=4;MOD(ZAOKR(A17;0);10)=5);ZAOKR.W.DÓŁ.DOKŁ(A17;10)+5;
JEŻELI(LUB(MOD(ZAOKR(A17;0);10)=6;MOD(ZAOKR(A17;0);10)=7);ZAOKR.W.DÓŁ.DOKŁ(A17;5)+2;
JEŻELI(LUB(MOD(ZAOKR(A17;0);10)=8;MOD(ZAOKR(A17;0);10)=9);ZAOKR.W.DÓŁ.DOKŁ(A17;5)+4;
ZAOKR(A17;0)-1))));
JEŻELI(A17=500;ZAOKR(A17;0)-1;
JEŻELI(LUB(MOD(ZAOKR(A17;0);10)=1;MOD(ZAOKR(A17;0);10)=2;MOD(ZAOKR(A17;0);10)=3;MOD(ZAOKR(A17;0);10)=4;MOD(ZAOKR(A17;0);10)=5);ZAOKR.W.DÓŁ.DOKŁ(A17;10)+5;
JEŻELI(LUB(MOD(ZAOKR(A17;0);10)=6;MOD(ZAOKR(A17;0);10)=7;MOD(ZAOKR(A17;0);10)=8;MOD(ZAOKR(A17;0);10)=9);ZAOKR.W.DÓŁ.DOKŁ(A17;10)+9;
JEŻELI(MOD(ZAOKR(A17;0);10)=0;ZAOKR(A17;0)-1;"Błąd")))))))


formuła cenowa NOWA.xlsx
Pobierz Plik ściągnięto 26 raz(y) 10.8 KB

ID posta: 361153 Skopiuj do schowka
 
 
tomason1991
Starszy Forumowicz


Posty: 26
Wysłany: 24-01-2019, 11:47   

Wielkie dzięki.
Pozazdrościć umiejętności.
:lol:
ID posta: 361212 Skopiuj do schowka
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group
Theme xandgreen created by spleen& Programosy modified v0.3 by warna
Opieka techniczna www.marketingNET.pl

Archiwum

Strona używa plików cookies.

Kliknij tutaj, żeby dowiedzieć się jaki jest cel używania cookies oraz jak zmienić ustawienia cookie w przeglądarce.
Korzystając ze strony użytkownik wyraża zgodę na używanie plików cookies, zgodnie z bieżącymi ustawieniami przeglądarki.
Sprawdź, w jaki sposób przetwarzamy dane osobowe