17 või 15 numbrit täpsust - Exceli näpunäited

Excelis on ilmnenud kole arvutusviga. Näib, et probleem ulatub Exceli arvutusmootorisse ja seda pole lihtne lahendada.

Probleemi keskmes on lihtne fakt: Excel salvestab ühte lahtrisse 15 numbrit täpsust. Teil võib olla numbreid, millel on 20 numbrit, kuid mis tahes arv viimase viimase numbri ja kümnendkoha vahel peab olema null.

Ainult 15 numbrit täpsust See viga näib rikkuvat Exceli peamist direktiivi: arvuta uuesti või sure.

Olen hiljuti näinud kahte juhtumit, kus Exceli arvutusmootor andis valesid tulemusi. Kui süvenesin probleemi juurde ja vaatasin selle aluseks olevat XML-i, olin üllatunud, kui nägin, et Excel salvestas XML-is salaja 17 numbrit.

Probleem on selles, et Excel kuvab ainult 15 numbrit. Nii et arvate, et teil on number salvestatud kui 0.123456789012345, kuid see on tegelikult salvestatud kui 0.12345678901234567.

Neid kahte viimast numbrit ei näe. Ja enamus Exceli funktsioonidest eiravad neid kahte viimast numbrit. Kui * kõik * funktsioonid eiraksid kahte viimast numbrit, poleks meil probleeme. Kuid seni on sortimine, RANK ja FREQUENCY kasutanud kõiki 17 numbrit.

Allpool on tuntud trikk lahtrite järjestamiseks. Kui soovite, et iga auaste ilmuks täpselt üks kord, saate RANK ja COUNTIF ühendada. Alloleval pildil on Claire, Flo, Ivana ja Lucy seotud 115% -ga. Valemit RANK + COUNTIF kasutades peaksid nad olema järjestatud 5., 6., 7. ja 8. kohale.

Neli inimest on seotud 115% -ga

Kuid valem ebaõnnestub. Kaks rida on järjestatud 7. Seda ei juhtu kunagi. Neli valemist veerus D veenduge, et B6, B9, B12 ja B15 115% on samad. =B6=B15Valemiga lahendid et mõlemad rakud sisaldavad samu andmeid.

Usaldusväärne valem ei tööta

Kui üritasin probleemi isoleerida, vaadake lihtsalt funktsiooni RANK. See peaks teatama neljasuunalisest võrdsest langusest 4. kohal inimeste puhul, kellel on 115%. Kuid kuidagi on Lucy 15. reas ülejäänud kolmest eespool.

Auastme funktsioon ei tööta

Selle selgitamiseks saatsin teistele Exceli MVP-dele abipalve. Jan Karel Pieterse lõi Exceli faili lahti ja vaatas sisse XML-i. XML-is näete, et nad salvestavad 17 numbrit täpsust. Neli lahtrit, mis Excelis sarnanevad lipsuga, pole XML-is seotud. Üks 115% -st on salvestatud kui 1.1500000000000001 ja ülejäänud on 1.1499999999999999.

XML näitab, et salvestatakse kaks lisanumbrit.

Siiani on sortimine, järjestamine ja funktsioon FREQUENCY kasutanud lisanumbreid. Miks see probleem on? Kuna arvestame, et RANK ja COUNTIF kasutavad mõlemat sama arvu numbreid. Kui ühes funktsioonis kasutatakse 15 numbrit ja teises 17 numbrit, on teil probleem.

Praegu näib lahendus olevat kõigi teie vastuste teisendamine =ROUND(A4,15).

Tundub, et lahendus kasutab ROUND-i

Igal reedel uurin Excelis viga või muud kahtlast käitumist. Seda arvutusviga on raske avastada ja see kvalifitseerub suureks kalaks.

Exceli päeva mõte

Olen küsinud oma Exceli meistri sõpradelt Exceli kohta nõu. Tänane mõte mõelda:

"Iga kord, kui lahtrid ühendate, mõrvate kassipoja"

Szilvia Juhasz

Huvitavad Artiklid...