17 vai 15 ciparu precizitāte - Excel padomi

Satura rādītājs

Programmā Excel ir parādījusies neglīta aprēķina kļūda. Šķiet, ka problēma nonāk dziļi Excel aprēķinu motorā, un to nebūs viegli novērst.

Problēmas pamatā ir vienkāršs fakts: Excel vienā šūnā saglabā 15 precizitātes ciparus. Jums var būt skaitļi, kuriem ir 20 cipari, bet visiem cipariem starp pēdējo nozīmīgo ciparu un aiz komata jābūt nullei.

Tikai 15 ciparu precizitāte Šī kļūda, šķiet, pārkāpj Excel galveno direktīvu: pārrēķināties vai nomirt.

Nesen esmu redzējis divus gadījumus, kad Excel aprēķinu programma sniedza nepareizus rezultātus. Kad iedziļinājos problēmā un apskatīju pamatā esošo XML, biju pārsteigts, redzot, ka Excel XML slepeni glabā 17 ciparus.

Problēma ir tā, ka Excel parādīs tikai 15 ciparus. Tātad jūs domājat, ka jūsu numurs ir saglabāts kā 0.123456789012345, bet tas tiešām tiek saglabāts kā 0.12345678901234567.

Jūs nevarat redzēt šos pēdējos divus ciparus. Un lielākajā daļā Excel funkciju tiek ignorēti pēdējie divi cipari. Ja * visas * funkcijas ignorētu pēdējos divus ciparus, mums nebūtu problēmu. Bet līdz šim kārtošana, RANK un FREQUENCY izmanto visus 17 ciparus.

Zemāk ir plaši pazīstams triks šūnu ranžēšanai. Ja jums ir nepieciešams, lai katrs rangs parādās tieši vienreiz, varat apvienot RANK un COUNTIF. Zemāk redzamajā attēlā Klēra, Flo, Ivana un Lūsija ir sasaistītas ar 115%. Izmantojot formulu RANK + COUNTIF, tām vajadzētu būt 5., 6., 7. un 8. vietā.

Četri cilvēki ir saistīti ar 115%

Bet formula neizdodas. Divas rindas tiek vērtētas kā 7. Tas nekad nenotiek. Četras formulas D slejā pārliecinās, ka B6, B9, B12 un B15 115% ir vienādi. =B6=B15Formula ziņo, ka abas šūnas satur tos pašus datus.

Uzticamā formula nedarbojas

Mēģinot izolēt problēmu, aplūkojiet tikai funkciju RANK. Tam vajadzētu ziņot par četrvirzienu neizšķirtu 4. vietā cilvēkiem ar 115%. Bet kaut kā tā, ka Lūsija 15. rindā ierindojas priekšā pārējām trim.

Ranga funkcija nedarbojas

Lai to noskaidrotu, es nosūtīju palīdzības pieprasījumu pārējiem Excel MVP. Jans Karels Pieters atklāja Excel failu un ieskatījās XML. XML var redzēt, ka tie glabā 17 precizitātes ciparus. Četras šūnas, kas programmā Excel izskatās kā neizšķirts, nav saistītas ar XML. Viens no 115% tiek glabāts kā 1.1500000000000001, bet pārējie ir 1.1499999999999999.

XML atklāj, ka tiek glabāti 2 papildu cipari.

Līdz šim šķirošana, ranžēšana un funkcija FREQUENCY izmanto papildu ciparus. Kāpēc tā ir problēma? Tā kā mēs rēķināmies ar RANK un COUNTIF, ka abi izmanto vienādu ciparu skaitu. Izmantojot vienu funkciju, izmantojot 15 ciparus, bet otru - ar 17 cipariem, rodas problēma.

Pagaidām šķiet, ka risinājums pārveido visas jūsu atbildes, izmantojot =ROUND(A4,15).

Šķiet, ka risinājums izmanto ROUND

Katru piektdienu es pārbaudu kļūdu vai citu netīru uzvedību programmā Excel. Šo aprēķina kļūdu ir grūti noteikt un tā kvalificējama kā liela zivs.

Excel dienas doma

Esmu lūdzis saviem Excel Master draugiem padomu par Excel. Šodienas doma apdomāt:

"Katru reizi, kad sapludināt šūnas, jūs nogalināt kaķēnu"

Szilvia Juhasz

Interesanti raksti...