< návrat zpět

MS Excel


Téma: Přehled zaokrouhlovacích funkcí Excelu rss

Zaslal/a 9.9.2015 17:45

V diskusi o zaokrouhlování se tady objevilo několik nepřesností při popisu funkcí listu pro zaokrouhlení. Vzhledem k tomu, že tyto funkce (s výjimkou ZAOKROUHLIT) prakticky nepoužívám, začal jsem mít z té diskuse v hlavě guláš.
Pro vlastní archiv jsem si zpracoval tabulku toho, co Excel nabízí. Měl bych sto chutí napsat několik peprných slov jak na adresu Microsoftu, tak zejména pro naše lokalizátory. Když se tak na tu tabulku koukám, ani se nedivím, že ve hře mezi uživateli Excelu nepanuje jasno.
Tabulka je v příloze. Je interaktivní, takže každý si může ověřit, jak které zaokrouhlování funguje. Komentář ponechám na vás.

Příloha: zip26779_testyzaokrouhleni.zip (9kB, staženo 49x)
Zaslat odpověď >

Strana:  1 2 3 4   další »
#026783
avatar
Dovolil jsem si tabulku trochu doplnit a pozměnit některé komentáře.

Možná, že několik peprných slov ještě přibude.

Nedoplnil jsem další zaokrouhlovací funkce, např. WORKDAY, WORKDAY.INTN, HODNOTA.NA.TEXT, možná jsem něco dalšího vynechal.
Příloha: zip26783_testyzaokrouhlenib.zip (10kB, staženo 34x)
citovat
#026788
avatar
Ta rozšířená tabulka se mi líbí, protože celý zmatek pěkně dokresluje! Na téma záporných intervalů jsem se právě chystal udělat vlastní dodatek do tabulky. Jeden z možných závěrů zní, že pokud nedovolím záporný interval, MROUND nebude umět zaokrouhlit záporná čísla. A pokud ho povolím, vyvolám možnost chyb pro kladné hodnoty k zaokrouhlení. Prostě bordel a stav nedůstojný profesionálního nástroje typu Excel !!!citovat
icon #026789
eLCHa
No - když se nad tím zamyslím - tak bych MS zase tolik nekritizoval. Funkcí k zaokrouhlení je z mého pohledu 8 ROUND, ROUNDUP, ROUNDDOWN, CEILING, MROUND, FLOOR (mluvím o verzi 2007 - koukám, že přibyla na první pohled zbytečná varianta .PRECISE), ODD a EVEN. Ano - můžeme samozřejmě používat pouze TRUNC (USEKNOUT) a k výsledku se dostaneme. Nicméně nám přibude operací a taky ty vzorce nebudou moc přehledné. Zvlášť, pokud je zaokrouhlování součástí nějakého "megavzorce". Takže těchto 8 mi přijde jako přijatelný kompromis. Samozřejmě - jak psal lubo - můžeme zaokrouhlovat i dalšími funkcemi (další je třeba DOLLAR).
Pokud jsou v excelu další funkce, které dělají totéž - tipl bych, že to nebude s iniciativy programátorů, ale prostě to uživatelé požadovali. Je to ale pouze moje domněnka.

Problém je v překladu - funkce se překládat neměly a tak bychom se je všichni naučili stejně - ale to je pořád dokola.

Takže závěr - pokud někdo nechce, nemusí používat žádnou a vystačí si i s TRUNC a ROUND - já se využití nevyhýbám a když o fci vím a mám pro ní využití, tak ji použiju a hlavně ji použiju správně. Když vidím, že ji někdo správně nepoužije - upozorním ho na to. Jestli si to vezme k srdci nebo řekne, že to takhle má schválně, to už záleží na něm. Nemám s tím problém. Vlastně to říkám pokaždé - pokud řešení uživatel udělal sám, ví jak to udělal a ví jak si to opravit v případě problému nebo změny - je to pro mně OK.citovat
#026792
avatar
Podle mne si věc kritiku zaslouží. Z pohledu začátečníka je velmi frustrující, když mu Excel nabízí osm způsobů zaokrouhlení, které se v popisu liší často velmi nezřetelně. I z pohledu znalostí Excelu na běžné úrovni je těžké k uchápání, proč ZAOKR.DOLŮ a ZAOKR.NAHORU mají v druhém parametru interval, zatímco ZAOKROUHLIT tam má počet desetinných míst. A problém zaokrouhlit záporné číslo pro MROUND je už jen třešinka na dortu.
Jako ukázku toho, že nepotřebuji mít osm podmíněně fungujících zaokrouhlovacích funkcí, uvádím svou uživatelsky definovanou funkci (UDF) se jménem RoundX. Tato jediná funkce pokrývá všech osm vyjmenovaných funkcí a ještě navíc varianty, které Excelu jaksi už nestálo zato pokrýt. Je napsaná ve VBA a používá výhradně to, co VBA samo umí.
Funkce RoundX je obsahem přílohy včetně testů její funkčnosti. Přes veškerou snahu o odladění nevylučuji, že může mít mouchy (já o nich nevím). Tu funkci dávám do oběhu spíš jako ukázku toho, že to jde takto napsat. Prosím každého, kdo by funkci RoundX chtěl prakticky využít, aby si její fungování sám napřed prověřil. Pokud najde vady, prosím o jejich sdělení (nejlépe na můj mail, aby se toto fórum odlehčilo).
Příloha: zip26792_funkceroundx.zip (40kB, staženo 28x)
citovat
#026793
avatar
No pri zaokrúhľovaní záporných čísel pri MROUND možno použiť napríklad

=MROUND(A1;SIGN(A1)*5)

https://support.office.com/en-us/article/MROUND-function-c299c3b0-15a5-426d-aa4b-d2d5b3baf427

Osobne preferujem funkcie bez VBA. Ale ak sa inak nedá alebo je to zložité, tak samozrejme nemám námietky.citovat
icon #026794
eLCHa
Trošku opravím svůj postoj - ano fce MROUND je problematická. Osobně nechápu smysl záporného intervalu (2. argument) - interval 5 a -5 je stejně velký, takže v těchto funkcích by to buď mělo automaticky hodit chybu nebo lépe vzít vždy absolutní hodnotu. Rozhodně by se fce CEILING, FLOOR a MROUND měly chovat stejně a neměly by mít problém se záporným číslem (1. argument).

Určitě bych ale nepoužil pomalou UDF a raději se obrátil na rychlejší ROUND.

@marjankaj
ano, to jsem si také našel - ale je to řešení neřešení - je tam zbytečná operace navíc, která tam být prostě nemácitovat
#026795
avatar
Ono to závisí aj od vývoja aplikácie EXCEL.
Zrejme pôvodne boli funkcie
ROUND
CEILING
FLOOR
A tieto sa preložili tak ako sú preložené do češtiny.
Zrejme neskôr bola požiadavka zaviesť ROUNDUP a ROUNDDOWN tak aby parametre korešpondovali s ROUND.
A toto už český lokalizátor nezvládol, lebo nechcel meniť už zabehané funkcie ZAOKROUHLIT.NAHORU a ZAOKROUHLIT,DOLŮ

A tým vznikol tento problém. Môj názor. Excel som začal používať od verzie 2003. Predtým som si vystačil s OUATTRO-PRO v DOSe.citovat
#026798
avatar
@eLCHa
Veď preto MROUND ani nepoužívam. Najmä kvôli kompatibilite s nižšími verziami excelu. A vlastne ho ani nepotrebujem.
MROUND by mal Microsoft upraviť aby korešpondoval s CEILIND a FLOOR. Ale myslím si, že to už meniť nebude.citovat
#026799
avatar
@eLCHa

Částečně se chyba řeší, u funkcí CEILING a FLOOR ve 2010 přidali varianty CEILING.PRECISE a FLOOR.PRECISE, u kterých nezáleží na znaménku 2. parametru.

A ve 2013 doplnili funkce CEILING.MATH a FLOOR.MATH, které se blíží k tomu, co poslal Vovka (lze nastavit způsob zaokrouhlení záporných čísel).

Nechápu, proč opravují jen funkce CEILING a FLOOR.citovat
icon #026800
eLCHa
@lubo
mně by také zajímalo, proč přidávají další fce, když stačí opravit ty staré. Pokud se bojí zpětné kompatibility, tak se bojí špatně.
Navíc - pokud jsem to pochopil
CEILING, FLOOR jsou přeložené, ale ty s tečkou už ne...citovat

Strana:  1 2 3 4   další »

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje