veera_J
06.07.20,15:50
Pekný deň,
pre niekoho možno ľahká otázka - keď máme excelovskú tabuľku , kde sú údaje v riadkoch ( v bunkách, číslo na dve desatinné čísla) vzorce a na konci riadkov súčin (výsledok) a chcem zrátať tie výsledky - nikdy mi nedá správne číslo - akosi to zaokrúhľovanie je tam nastavené, že keď to prepočítam na kalkulačke robí mi to rozdiel pár centov a ja to potrebujem presne. Vedeli vy ste mi prosím poradiť? :confused::confused::confused::confused::confused: :confused::confused::confused::confused: uz som asi skúšala kde čo a nechce sa mi to stále prepisovať
zráta to správne jedine ked výsledok z jednotlivých riadkov prepíšem manuálne a potom mi to sadne :(
som z toho jelen
elninoslov
06.07.20,15:26
a) zaokrúhľujte samostatné výpočty vzorcom, nie iba formátom
b) priložte prílohu
marjankaj
06.07.20,16:16
Tak to rátaj na kalkulačke, keď ti to EXCEL nevie presne vyrátať.
marjankaj
06.07.20,16:21
Možnosti programu excel>rozšírené>nastaviť presnosť podľa zobrazenia.
mepex
06.07.20,16:32
Chce to prílohu.
marjankaj
06.07.20,16:35
A načo?
Chobot
06.07.20,17:04
Niekde robíš chybu, že nezaokrúhľuješ vo vzorci, ale iba vo formáte bunky. Ty vidíš v bunke možno 2 desatinné miesta, ale na pozadí tam zostávajú ešte aj ďalšie miesta (tisíciny atď.).
PotPalo
06.07.20,17:42
Nepomôže. Tiež som s tým zápasil. 1234,56 mínus 1234 nieje 0,56, nech nastavuješ čokoľvek.
PotPalo
06.07.20,17:47
Excel je debilný na seriózne počítanie. Na hranie je ešte dobrý, ale ako nástroj do práce by som ho rozhodne neinštaloval. Keď dáš 1234,56 mínus 1234, vidíš síce 0,56, ale on interne počíta ako 0,55999999999.... (dá sa to aj vidieť keď dáš zobraziť viac desatinných miest). A keď sa takýchto riadkov potom spočíta viac, tak to hodí rozdiel ktorý sa už objaví. Riešením je pridať funkciu zaokrúhľovania alebo odstránenia desatinných miest aj tam, kde je zjavný výsledok. Napríklad v spomínanom príklade zaokrúhlenie na dve desatinné miesta vyrieši problém. Je to síce z logického hľadiska zbytočná funkcia naviac, ale vzhľadom na debilitu excelu je nutná.
marjankaj
06.07.20,18:12
Tak bojuj na kalkulačke.
marjankaj
06.07.20,18:25
Debil je ten, ktorý si myslí, že 1/3=0,33 a potom sa diví prečo 3*0,33=,99 a nie 1.
Počítač (nie excel) všetko prepočítava do dvojkovej sústavy a potom naspäť a zaokrúhľuje na 15 platných miest. Ten počet miest sa dá aj zvýšiť, ale stále to nebude dosť. Trúfaš si presne povedať koľko je pí(3,14.........)
veera_J
06.07.20,19:34
potrebujem to presne a nie prepisovať x údajov
marjankaj
06.07.20,19:45
Veď som ti dal návod.
A ak dáš prílohu, tak elninoslov ti to aj vymaľuje.:---
veera_J
06.07.20,19:49
Súhlasím že vidím dve a zostávajú tam ďalšie čo robia tie rozdiely, ale ako nastavím zaokrúhľovanie vo vzorci?
marjankaj
06.07.20,20:09
vyber si
ROUND
ROUNDUP
ROUNDDOWN
FLOOR
CEILING
INT
TRUNC
PotPalo
06.07.20,21:35
Delenie je niečo iné, hlavne pri nekonečných výsledkoch. Pri odpočítavaní je to snáď jasné, že 3-2=1 a nie 0,99. To vie aj žiak prvej triedy, len excel musí počítať nejako divne. Aj v binárnej forme je 3-2 jedna, aj v dexadecimálnej, aj v každej. Aj na prstoch sa dá spočítať. Spomínaný príklad vypočíta správne aj 8-bitový počítač bežiaci na 4 MHz, a nie dnešné super výkonné mašiny, ktoré sú kvôli blbému softvéru naprd.

Čo počúvam, tak veľa ľudí má s excelom rovnaký problém, skrátka im to nesedí, počíta zle. A pridávať zaokrúhľovanie aj do jednoduchého odpočítavania a spočítavania, to je fakt na silné nervy.

Mimochodom, 123456-123400 vychádza správne na 56. Prečo asi? Slušný program má počítanie jednotné, a iba v nejakom byte si ukladá pozíciu desatinnej čiarky. V exceli to neplatí. Takže keď toto vydelím 100, vypočítam, potom výsledok vynásobím 100, a dám IF či sa výsledok rovná, tak sa rovnať nebude. Na hlavu. Spôsob ako si to interne počíta (a zle) ma nezaujíma.
elninoslov
06.07.20,21:55
Ani prd, bolí ma hlava :)
marjankaj
06.07.20,22:04
reálne čísla v exceli zaberajú 4 byty. To je 15 platných číslic. čo je za 15 číslicou to sa stráca. Podobne počíta aj kalkulačka.
sthruskahe
07.07.20,08:49
Excel nie je debilný. Nerád to píšem, ale debilný je ten, kto si nepozrie ako fungujú procesory.
To čo tu je popisované nemám nič spoločné s Excelom. Ako tu bolo napísané, bežne procesor pracuje s presnosťou 15 číslic. A nikdy nikde nebude číslo 1,0 uložené ako 1. Vždy to bude 0,999999... A takto sa to aj v pozadí používa. To ostatné je otázkou samotného zobrazenia alebo zaokrúhľovania.
Preto sa na presné počítanie používajú špeciálne formáty čísel.
PotPalo
07.07.20,13:07
Takže vlastne potvrdzuješ, že to počíta iba približne, a nie presne. To znamená, že na serióznu prácu je to nevhodné. :D

To bežný užívateľ musí vedieť aj ako fungujú procesory?! Napríklad procesor Z80 má inštrukcie ADD, SUB, ADC, SBC a inštrukcie pre rotáciu. Násobenie a delenie nemá. V assembleri sa potom naprogramuje aj to násobenie, delenie, odmocnina, a je to úplne presné, 1 je vždy 1. Programátor musí vedieť čo ktorá inštrukcia robí, a pokiaľ výsledok nebude adekvátny realite, musí upraviť program aby to dorovnal. Alebo použiť inú inštrukciu. Programátori excelu sa na to evidentne vytoto.... Ale to neriešim, excel u mňa prepadol, a koniec.
sthruskahe
07.07.20,13:35
Z pohľadu užívateľa máš úplne pravdu.
Ešte keď som používal Excel (2007), tak som na problém s presnosťou nenarazil.
marjankaj
07.07.20,18:02
Problémy s presnosťou som riešil dávno predtým, než vznikol excel. A stále sa to nezmenilo. Ale otázka sa týkala zaokrúhľovania.
PotPalo
08.07.20,01:27
No pokiaľ to zaokrúhľuje, tak by bolo dobré pozrieť a napísať nám vzorec, ktorým to zaokrúhľuje, nech nájdeme riešenie. Pokiaľ to naopak nezaokrúhľuje, čo nerobí ale ani kalkulačka, a výsledok kalkulačka-excel pritom nesedí, tak excel počíta zle. V tom prípade tam treba do vzorcov pridať to zaokrúhľovanie, a to aj do zjavne jasných počtov kde by ho nebolo treba. Podľa zadania otázky zrejme treba do jednotlivých riadkov pridať do vzorca zaokrúhľovanie.
hycont
15.07.20,09:35
napr: =ROUND(SUMA1:A5;2), znamená výpočet na 2 des.miesta
PotPalo
15.07.20,11:50
Pridal som prílohu. :D
marjankaj
15.07.20,13:33
Veď si to tam najprv naformátuj ako číslo. A nastav presnosť podľa zobrazenia.
PotPalo
15.07.20,13:36
čo kde? Formátovať bunky -> číslo -> číslo -> 2 desatinné miesta? Mám, všetko vidím na dve desatinné miesta, ale výsledok je podľa IF aj tak iný.
marjankaj
15.07.20,13:41
Dal som tiež prílohu.
PotPalo
15.07.20,15:43
aha. Nástroje -> možnosti -> výpočet -> presnosť podľa zobrazenia. Teraz to síce funguje, ale čo si pamätám keď som to v niečom zložitejšom skúšal, tak táto možnosť na jednom mieste pomohla, ale na inom zasa nelogicky rozhádzala výpočty. A ono to funguje iba s bunkami naformátovanými ako číslo na x desatinných miest. Pri formáte "všeobecné" to nefunguje. Takže to aby som mal vždy v bunke zobrazené desatinné miesta aby to pracovalo správne? To tam môžem rovno dopísať to zaokrúhľovanie. Ale aspoň vidieť, že riešenia na problém (ktorý by vôbec nemal nastať) sú aj dve. :D
marjankaj
15.07.20,16:04
Veď zadávateľka to má uvedené v zadaní.
( v bunkách, číslo na dve desatinné čísla)