Print side | Luk vindue

Fejl i svar for "<" for særlige værdier?

Udskrevet fra: Dansk Regneark Forum
Kategori: Hjælp til regneark.
Forum navn: Del dine regneark
Forum beskrivelse: I dette forum kan du dele dine regneark med andre brugere
Alle typer regneark kan uploades og det anbefales at lave en lille vejledning,
Web-adresse: https://forum.excel-regneark.dk/forum_posts.asp?TID=5039
Udskrevet den: 08.Maj.2024 kl. 23:27


Emne: Fejl i svar for "<" for særlige værdier?
Besked fra: eliaswiwe
Emne: Fejl i svar for "<" for særlige værdier?
Posteringsdato: 15.Feb.2024 kl. 15:38
Jeg er til hverdag en ganske ferm excel-bruger, men jeg er stødt på en fejl, som jeg simpelthen ikke begriber.

=(0,85-0,8)<0,05
returnerer SAND i mit Excel.
Mens fx 
=(0,9-0,85)<0,05
på korrekt vis returnerer FALSK

Når man oplever den slags "fejl" i Excel plejer det altid at være en selv, der har jogget i spinaten, men jeg forstår ikke, hvad jeg kan have gjort forkert her.

Fil vedhæftet.

Mvh. Elias


uploads/3070/Hvad_sker_der_for_Excel_RØD.xlsx - uploads/3070/Hvad_sker_der_for_Excel_RØD.xlsx



Svar:
Besked fra: eliaswiwe
Posteringsdato: 15.Feb.2024 kl. 15:40
uploads/3070/Hvad_sker_der_for_Excel_RØD_2024-02-15_15-39-19.xlsx" rel="nofollow - uploads/3070/Hvad_sker_der_for_Excel_RØD_2024-02-15_15-39-19.xlsx

(Prøver lige linket/vedhæftningen igen)


Besked fra: Hans K.
Posteringsdato: 15.Feb.2024 kl. 21:56
Det skyldes noget der kaldes floating point error.
Du kan læse om det blandt andet her:

https://learn.microsoft.com/en-us/office/troubleshoot/excel/floating-point-arithmetic-inaccurate-result" rel="nofollow - https://learn.microsoft.com/en-us/office/troubleshoot/excel/floating-point-arithmetic-inaccurate-result

Prøv at vælge celle A1 i din fil. I formelfeltet markerer du med muser præcist følgende del af din formel:

0,85-0,8
Tryk på F9 og du vil se: 0,0499999999999999

Det er meget tæt på 0,5, men ikke helt præcist, og derfor er (0,049999999999999 < 0,05) SAND
Men hvorfor 0,049999999999999 tænker du måske og det er noget med konvertering mellem det decimale talsystem og det binære talsystem, hvis det siger dig noget som helst. Hvis ikke kan du finde tusindvis af artikler om det på Internettet. Her er en Microsoft har publiceret (samme som oven for)

https://learn.microsoft.com/en-us/office/troubleshoot/excel/floating-point-arithmetic-inaccurate-result" rel="nofollow - https://learn.microsoft.com/en-us/office/troubleshoot/excel/floating-point-arithmetic-inaccurate-result
(men artiklen er temmelig teknisk)

Du kan i den slags situationer bruge en formel som:
=ROUND(ABS(0,85-0,8);5)<0,05 som returnerer FALSE.


Besked fra: eliaswiwe
Posteringsdato: 16.Feb.2024 kl. 07:49
Wow, det var et utroligt hurtigt og præcist svar. Clap

Mange tak!

God dag!



Print side | Luk vindue