Kezdőlap › Fórumok › Excel témák › Összeadás hiba ?
- This topic has 8 hozzászólás, 3 résztvevő, and was last updated 1 year, 1 month telt el by Speter.
-
SzerzőBejegyzés
-
2023-10-23-08:26 #10225
Az alábbi kis tábla mutatja a problémámat. Excel számsorokat kapok. Ezeket összeadom, és azt tapasztaltam, ha pont nulla lenne a végeredmény, akkor egyes esetekben hibásan számol az excel. Azt tudom, ha kerekítem, akkor ez már nulla lesz, de sok számsor van, ha mindegyiket kerekítem, akkor a végső eredmény már fals lesz, ezért nem kerekíthetek. Szerintetek én látok rosszul valamit, vagy tényleg hibás a számolás?
Attachments:
You must be logged in to view attached files.2023-10-23-08:42 #10227Még egy adalék, ha minden mezőbe beírt számot kerekítem 2 tizedesre, és úgy adom össze, akkor sem kapok pontos eredményt, így már tényleg nem tudok összehasonlításokat tenni pontosan. Az pedig, hogy minden hasonlításkor egy ‘Eps’ eltérést alkalmazzak, nem életszerű!
2023-10-23-17:47 #10228Szia!
Igen, problémák vannak az Excellel nagyon nagy, illetve nagyon kicsi számok esetén.
A nagyon kicsit lehet érteni a bármilyen tört egész rész utáni részének.Épp nemrég szívtam ezzel, amikor időértékeket kellett (volna) kezelnem, amik ugyebár másodpercig lemenve igen kicsi és hosszú törtek. Nekem bevált az 5 tizedesre kerekítés.
Ha egy kicsit utánanézel, akkor rengeteg cikk, probléma szól erről a neten.
A Microsoft saját leírása:
https://learn.microsoft.com/en-us/office/troubleshoot/excel/floating-point-arithmetic-inaccurate-resultA te esetedben (ahogy tapasztaltad) nem megoldás a kerekítés, mert valamerre hibás lesz a dolog.
– Egyik lehetőséged, hogy megadsz a szum képletben egy 0-hoz képesti tűrést, és ha azon belül van, akkor nullának tekinted.
– A másik megoldás az Excel beállításaiban lehet:
– Fájl -> Beállítások -> Speciális -> Megkeresed az „Ennek a munkafüzetnek a kalkulálása” részt, és beállítod, hogy
a kalkulációs pontosság a megjelenítéshez igazodjon. Ez adatvesztéssel fog járni, pl. 2 tizedes feletti részeket eldobja.Egészen konkrétan itt van:
https://learn.microsoft.com/en-us/office/troubleshoot/excel/floating-point-arithmetic-inaccurate-result#method-2-precision-as-displayed:~:text=Method%202%3A%20Precision%20as%20displayedImre
2023-10-23-17:56 #10229Miután válaszoltam, ki is próbáltam 🙂
Ahol 0,01 a difi, az maradni fog a cellában, ha 2 tizedesre formázom.
Ugyanezt adja ha kerekítek 2 tizedesre.De az egy század valós érték, ha összeadod az utolsó 2 oszlopot.
Kérdés, hogy te minek tekinted.
I
2023-10-24-19:02 #10230Szia! Köszönöm a válaszokat, még próbálkoztam, és agyaltam, de nem igazán jutottam előre.
A „furcsa” számomra az, hogy azt írja a Microsoft, hogy nagyon kicsi, illetve nagyon nagy számoknál áll fenn ez a probléma a tárolás végessége miatt. Ez én is tudom, ezzel számoltam volna, de itt egyáltalán nem nagy számokról van szó, a számok 2 tizedesre kerekítve vannak, és ennek ellenére nem számol pontosan! Ez azért szerintem nem korrekt. Sok excel táblát nézegettem (másokét is), és ezekben simán összehasonlít kést számolt oszlopot, és egyezőséget keres közte, ami ugye hibás eredményt adhat igen sok esetben! Ráadásul az én példámban a 0 érték helyett, egy normál alakban kapott számérték került az összesenbe. Ezt sokan értelmezni sem tudják. Nekem is átkerül a táblám csv formábtumba, és egy feldolgozó program hozta ki, hogy hibás számok vannak a táblában, mert a feldolgozó programnak normál alakot elemezni esze ágában sem volt!
Szóval meg tudom oldani, mert kerekítgetek a szumma értékben is (mondjuk 4 tizedesre). Ezzel a probléma lényegében megoldva, de ha sok ilyen kerekített értéket újra összeadok, az újabb hibákat generálhat!Az excel persze könnyen elkeni a dolgot, mert a megjelenítés jól formázható, és a hiba nem is látszik!
Remélem érthetően írtam le a gondolataimat.Péter
2023-10-24-20:34 #10231Sajnos ez valóban probléma.
Az én esetemben COUNTIF függvénynél burult ki a bili, hogy nem talált meg valamit, amit meg kellett volna.
Az időértékek tele vannak végtelen tizedestörttel.Különben nem csak az Excel-ben probléma ez, hanem a teljes lebegőpontos számábrázolásban ez a hiba benne van.
Résen kell lenni és kompromisszumokat kötni.
I
2023-10-27-21:01 #10232Sziasztok!
Ne bántsátok az Excelt! 😉
A számolási hiba a tízes és a kettes számrendszer különbözőségéből és a számábrázolás során használt helyiértékek véges számából adódik.További részleteket például itt is találsz.
üdv’
verax2023-10-28-06:25 #10233Ha módodban áll, törekedj arra, hogy tizedes tört részt nem tartalmazó egész számokkal dolgozz!
Nem lesz egyszerű dolgod.2023-10-28-07:49 #10234Köszönöm a jó tanácsokat, de saját adatokkal feltöltve én mindig korrekt táblát készítettem. Most olyan adatokkal kell dolgoznom, amit igen sok helyről kapok (NAV számla adatoka). Na ebben olyan elképesztő pontatlanságok vannak, mindig újabb, és újabb hibákat találok benne. Az általam átdolgozott táblában igyekeztem mindent úgy összekerekíteni, hogy konzisztens adatokat kapjak. A ft tételek esetében mindent összekerekítek (néha csalok is), hogy jó legyen, de egyre több számla készül más valutanemben, amit általában 2 tizedesre kell kezelne. Na itt jönnek elő a problémák, mert a 2 tizedesre kerekített értékekkel már nem tud az excel pontosan számolni az excel. Persze újabb kézimunkával ez is megoldható, hogy 100-al felszorozzam minden hasonlító műveletnél, csak ez annyira gáz, hogy ilyen módon kell varázsolni, egy olyan számolótáblában, amit a világon nem néhány ember használ! A legtöbb embernek fogalma sincs a számábrázolásokról, és nem érti miért nem jók a táblázatainak egyes döntései. Lényegében ezért írtam, mert ez bosszant engem, de nagyon!
-
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.