• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

afronding

  • Onderwerp starter Onderwerp starter Venne
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

Venne

Gebruiker
Lid geworden
8 sep 2000
Berichten
148
Op een excelblad doet zich een onverwachte afronding - of liever niet-afronding - voor.

Het gaat om een kasblad, met op de voorlaatste regel een verwijzing naar het gedetailleerde kasblad, en op de laatste een regel een berekening vh eventuele verschil.

- de tabel start op regel 30
- in kolom A, regels 30 tot 44, staan waarden met 2 decimalen (de waarden van onze biljetten en munten)
- in de kolommen B tot en met F staan gehele getallen (het aantal van elk van die waarden)
- in kolom G staat de formule =SOM(B30:F30)*A30
- deze formule wordt herhaald op de regels 30 tot 44
- onderaan kolom G staat de formule =SOM(H30:H44), d.i. het berekende kastotaal
- net daaronder, dus regel 46, staat =feb!G3, d.i. het vastgestelde kastotaal
- en tenslotte daaronder
=ALS(H45>H46;H45-H46&" teveel"; ALS(H45 kleiner dan H46;H46-H45&" tekort";"klopt"))), dus het verschil tussen het getelde en het berekende totaal.
* wel te verstaan staat in het excelblad het symbool < ipv de tekst kleiner dan.

Dit laatste getal is echter helemaal niet afgerond: de laatste keer was het 20.8799999999992. Dat verbaast me, want alle vorige getallen zijn afgerond op 2 decimalen, ook die van het kasboek zelf.

Wat mag de oorzaak hiervan zijn?
 
Gebruik in H45: =afronden(som(h30:h44);2) en in H46 (omdat ik niet weet hoe de waarde in G3 tot stand is gekomen) =afronden(feb!G3;2)

Probeer bovenstaande. Geeft dat niet het gewenste resultaat, plaats dan in G30: =afronden(som(b30:f30)*a30;2) en kopieer naar beneden.

fra.
 
fra, dank voor je suggestie.
Ik had het probleempje zo reeds opgelost.

Mijn vraag is en blijft eigenlijk: *hoe is het mogelijk dat zo iets gebeurd!?* Het verschil van 2 getallen, die elk afgerond zijn op 2 decimalen, wordt een niet afgerond getal.
In principe is zelfs het afronden overbodig, want nergens komt een waarde met meer dan 2 decimalen voor. Ik zou bv verwachten dat als ik een eindcijfer met 6 decimalen vraag, excel een getal met 2 decimalen zou tonen.
 
Geplaatst door Venne
Mijn vraag is en blijft eigenlijk: *hoe is het mogelijk dat zo iets gebeurd!?* Het verschil van 2 getallen, die elk afgerond zijn op 2 decimalen, wordt een niet afgerond getal.
Wat hierboven vet gedrukt staat, is in zijn algemeenheid niet juist.
Voorbeeld: Maak A1, B1, en C1 op als Getal met 2 decimalen. Typ nu in A1: 2,254 ; in B1: 1,253 ; en in C1: =som(a1:b1). Op grond van wat je in A1 en B1 ziet staan, zou je als uitkomst 3,50 verwachten, maar het resultaat is 3,51. Wat je in A1 en B1 ziet, is dus niet waarmee Excel rekent.
Los van bovenstaande is het getoonde resultaat afhankelijk van de precisie waarmee Excel berekeningen uitvoert.

fra.
 
Ik heb me onjuist uitgedrukt in mijn vorig bericht. Ik had moeten schrijven dat de som van 2 getallen met elk maximum 2 decimalen plots een getal met meer dan 2 decimalen geworden is. Het gaat niet om 2 of meer afgeronde getallen, maar om getallen die inderdaad niet meer dan 2 decimalen hebben.

Op heel het werkblad staat geen enkel getal met meer dan 2 decimalen: er wordt gewerkt met gehele getallen, met name de aantallen, de waarden van de eurobiljetten en van de munten van 2 en 1 euro, en verder met getallen met 2 decimalen, met name de waarden van onze kleinere munten. Op het kasblad zelf wordt evenmin ooit een waarde met meer dan 2 decimalen ingevuld. Overigens: de eerste som, het berekende kastotaal, heeft nooit meer dan 2 decimalen. De afwijking gebeurt blijkbaar later.

Ik begrijp dus nog steeds niet waar dat getal met veel decimalen vandaan komt. Het lijkt wel een onnauwkeurigheid bij het rekenen door excel.

Misschien is de laatste lange formule de oorzaak? Als ik daar gewoon =h45-h46 schrijf, bekom ik een mooi getal, met nooit meer dan 2 decimalen.
 
Geplaatst door Venne
Ik begrijp dus nog steeds niet waar dat getal met veel decimalen vandaan komt. Het lijkt wel een onnauwkeurigheid bij het rekenen door excel.
Excel rekent standaard met 9 decimalen (Kun je nagaan door in een standaard opgemaakte cel bv. eerst 5,000000002 te typen en daarna 5,0000000002. In het laatste geval zie je in de cel alleen een 5 verschijnen).
Afrondingsfouten ontstaan voorts omdat computers niet decimaal rekenen maar binair, dat is een groot verschil (en dus niet alleen specifiek voor Excel) !

fra.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan