Fejl i Excel og OpenOffice giver forkerte resultater

En fejl i Microsofts regnearksprogram Excel kan få konsekvenser på bundlinjen, hvis brugeren ikke er opmærksom.

Artikel top billede

Fejl i regneark kan få alvorlige konsekvenser, hvis fejlene ikke bliver identificeret med det samme.

Normalt forventer folk, at computeren kan foretage beregninger bedre end dem selv.

Men det er en fejl at forlade sig på de resultater, som diverse regneprogrammer, herunder Microsoft- programmet Excel, kommer frem til.

For regneprogrammer kan nemlig ikke altid regne rigtigt, når det drejer sig om decimaltal. Det skriver en læser til Computerworld.

Hvis man eksempelvis skriver og lægger følgende tal sammen i et Excel-regneark:

+22500,24
-254,24
-22500,24
+127,12
+127,12

... så giver resultatet ikke et stort rungende 0, som ville være korrekt, men derimod et meget lille decimaltal, der er -1,59161573*10^-12.

Det er muligt at genskabe fejlen og andre lignende eksempler i alle tre regnearksprogrammer, som Computerworld har testet.

Både OpenOffice, Google Spreadsheet og Microsoft Excel udfører beregningsfejl, når man forsøger at tage summen af positive og negative decimaltal.

Fejlresultatet afhænger også af, i hvilken celle de forskellige data står. Hvis samme data optræder i en anden rækkefølge, kan summen af alle tallene give et helt andet forkert resultat.

Maskinsprog er forklaringen

Jon Sporring, lektor ved Datalogisk Institut på Københavns Universitet (DIKU), mener, at fejlen skyldes, at tallene først skal konverteres til maskinsprog, før computeren beregner tallene.

Efter beregningen kan der derefter komme unøjagtigheder, når det endelige resultat vises.

"Et af de mest kendte eksempler med en unøjagtig repræsentation af et tal er tallet pi. Her er det antallet af bits, som maskinen opererer med, som afgør, hvordan et tal kan blive repræsenteret," forklarer Jon Sporring.

Computeren regner med andre ord internt i binært format.
Et tal, der er repræsenteret i binært, kan godt bestå af mange flere et-taller og nul-taller end computeren kan håndtere. Specielt er der problemer med decimaltal, der kan være svære for regnearket at repræsentere.

Selvom fejlene er mikroskopiske afvigelser fra det korrekte resultat, kan det dog få fatale følger, hvis ingeniører og forskere ikke er opmærksomme på fejlene.

"Hvis vi skal beregne, hvilke kræfter der er i en bro, så den ikke styrter sammen, er det vigtigt at sikre os, at unøjagtigheden af disse beregninger ikke eksploderer. Vi kan ikke bruge vores regneark hjernedødt," siger Jon Sporring.

Lektor Jon Sporring forklarer, at de datalogistuderende på DIKU får kendskab til problemet på andet år, og at det er helt essentielt for uddannelsen at forstå, hvad grunden til fejlen er.

Problemet består i, at de fleste regneark vælger at bruge 'floating point'-metoden til at repræsentere decimaltal på.

I matematikprogrammer som Maple og Matlabs kan brugeren derimod vælge at bruge andre måder, som computeren kan repræsentere decimaltal på.

Troede Microsoft havde rettet alle fejlene

Microsoft har mange gange før rettet regnefejl i Excel-programmet, men noget tyder altså på, at denne fejl er sluppet igennem nåleøjet både hos Microsoft og hos andre regnearksleverandører som Sun med OpenOffice og Google med Google Spreadsheet.

Det kan være fordi, at regnearksprogrammerne bruger den såkaldte IEEE 754-specifikation til at omregne decimaltal.

Martin Mark Rasmussen er direktør i Exacto, der løser Excel-problemer, og det er sjældent, at han støder på så alvorlige fejl i Excel.

"Jeg ved, der var en regnefejl tidligere i Excel, men den fik Microsoft rettet. Ellers har jeg ikke stødt på problemet før," siger Martin Mark Rasmussen.

Sun har ikke været i stand til at løse problemet

Firmaet bag OpenOffice, Sun, har heller ikke været i stand til at løse problemet.

Tilbage i 2004 talte Sun med Computerworld og prøvede at forklare, hvorfor der generelt opstår regnfejl, når computeren har med decimaltal at gøre.

"Der sker mange fejl i computere, som vi aldrig opdager. Nogle gange fryser en maskine uden en umiddelbar grund. Som regel får Microsoft skylden. Vi giver også Microsoft skylden, fordi det er bekvemt," sagde Greg Papadopoulos, teknisk direktør i Sun.

"Det er en rigtig grim hemmelighed. Flydende kommatalsaritmetik er forkert. Det kræver ikke mere end to udregninger at vise, at computere laver fejl i brøkregning," sagde Sun-forsker John Gustafson til Computerworld.

Dengang kunne en mulig løsning på problemet være at skrue programmet sammen sådan, at det brugte ekstra ressourcer på, at beregningen blev foretaget mere korrekt. Problemet er, at den binære repræsentation af decimaltal vokser ekspotentielt, når der kommer ekstra decimaler på tallet.

Men OpenOffice har altså stadigvæk de samme problemer med præsentationen af decimaltal.

Tidligere Microsoft-fejl er rettet

Microsoft har også før haft mere åbenlyse fejl med Excel. Tidligere viste Excel, at 850 gange med 77,1 blev 100.000 og ikke 65.535, som er det korrekte. Den fejl har Microsoft rettet i dag.

Microsoft Danmark fortæller, at virksomheden har kendt til problemet før, men bekræfter, at fejlen stadig kan forekomme. Microsoft Danmark fortæller, at man nu er i gang med at finde ud af om, fejlen er et designvalg, og om fejlen kan rettes på nuværende tidspunkt.

Læses lige nu
    Computerworld Events

    Vi samler hvert år mere end 6.000 deltagere på mere end 70 events for it-professionelle.

    Ekspertindsigt – Lyt til førende specialister og virksomheder, der deler viden om den nyeste teknologi og de bedste løsninger.
    Netværk – Mød beslutningstagere, kolleger og samarbejdspartnere på tværs af brancher.
    Praktisk viden – Få konkrete cases, værktøjer og inspiration, som du kan tage direkte med hjem i organisationen.
    Aktuelle tendenser – Bliv opdateret på de vigtigste dagsordener inden for cloud, sikkerhed, data, AI og digital forretning.

    Sikkerhed | Online

    Erfaringer fra frontlinjen: Sådan ændrer trusselsbilledet sig

    Kort og fokuseret digitalt event: Erfaren frontkæmper fra den digitale sikkerhedsverden giver dig overblik og konkrete anbefalinger til det aktuelle trusselsbillede.

    Andre events | Valby

    CIO Challenges: Teknologi, transformation og ledelse der flytter forretningen

    Hvordan moderniseres en it-platform uden legacy? Hvordan skaber man nye AI‑ og cloud‑drevne forretningsmodeller – uden at miste medarbejdere eller brugere undervejs? På CIO Challenges 2025 får du hands‑on erfaringer fra fire danske CIO’er, der...

    Infrastruktur | Frederiksberg

    Roundtable: Hybrid og cloud – sikre og strategiske it-valg i en ustabil verden

    Eksklusive danske digitale ledere mødes til rundbordssamtale om balancen mellem fart, sikkerhed og compliance. Hør hvordan CIO’er bygger robuste hybrid cloud-strategier, der skaber reel forretningsværdi og styrker modstandskraften.

    Se alle vores events inden for it

    Navnenyt fra it-Danmark

    Norriq Danmark A/S har pr. 1. september 2025 ansat Niels Bjørndal Nygaard som Digital Product Lead. Han skal især beskæftige sig med designe og implementere effektive IT-løsninger. Han har tidligere beskæftiget sig med at være digital consultant og project Manager hos Peytz & Co. Nyt job

    Niels Bjørndal Nygaard

    Norriq Danmark A/S

    Netip A/S har pr. 15. september 2025 ansat Benjamin Terp som Supportkonsulent ved netIP's kontor i Odense. Han er uddannet IT-Supporter hos Kjaer Data. Nyt job

    Benjamin Terp

    Netip A/S

    Sentia har pr. 1. oktober 2025 ansat Morten Jørgensen som Chief Commercial Officer. Han skal især beskæftige sig med udbygning af Sentias markedsposition og forretningsområder med det overordnede ansvar for den kommercielle organisation. Han kommer fra en stilling som Forretningsdirektør hos Emagine. Nyt job
    Netip A/S har pr. 19. august 2025 ansat Burak Cavusoglu som Datateknikerelev ved afd.Thisted og afd. Rønnede. Nyt job

    Burak Cavusoglu

    Netip A/S