17 vagy 15 számjegyű pontosság - Excel tippek

Csúnya számítási hiba lépett fel az Excelben. Úgy tűnik, hogy a probléma elmélyül az Excel számítási motorjában, és nem lesz könnyű kijavítani.

A probléma középpontjában egy egyszerű tény áll: az Excel 15 számjegyű pontosságot tárol egy cellában. Lehet 20 számjegyből álló szám, de az utolsó jelentős számjegy és a tizedesjegy közötti számjegyeknek nullának kell lenniük.

Csak 15 számjegy pontosságú Úgy tűnik, hogy ez a hiba sérti az Excel elsődleges irányelvét: Újraszámolás vagy meghalás.

Két olyan esetet láttam a közelmúltban, amikor az Excel számítási motorja rossz eredményeket adott. Amikor belemélyedtem a problémába és megnéztem az alapul szolgáló XML-t, meglepődve tapasztaltam, hogy az Excel titokban 17 számjegyet tárolt az XML-ben.

A probléma az, hogy az Excel csak 15 számjegyet fog megjeleníteni. Tehát úgy gondolja, hogy van egy tárolt száma 0.123456789012345 néven, de valóban 0.12345678901234567 néven van tárolva.

Nem láthatja azt az utolsó két számjegyet. Az Excel legtöbb funkciója figyelmen kívül hagyja ezt az utolsó két számjegyet. Ha * az összes * funkció figyelmen kívül hagyná az utolsó két számjegyet, akkor nem lenne problémánk. De eddig a rendezés, a RANK és a FREQUENCY mind a 17 számjegyet használta.

Az alábbiakban a cellák rangsorolásának jól ismert trükkje található. Ha minden rangnak pontosan egyszer kell megjelennie, kombinálhatja a RANK és a COUNTIF értékeket. Az alábbi képen Claire, Flo, Ivana és Lucy 115% -ban holtversenyben vannak. A RANK + COUNTIF képletet használva őket 5., 6., 7. és 8. helyre kell rangsorolni.

Négy ember 115% -on kötve

De a képlet nem sikerül. Két sor 7-es besorolású. Ez soha nem történik meg. A D oszlop négy képlete győződjön meg arról, hogy a B6, B9, B12 és B15 115% -a megegyezik. A =B6=B15képlet arról számol be, hogy mindkét cella ugyanazokat az adatokat tartalmazza.

A megbízható képlet nem működik

Miközben megpróbáltam elkülöníteni a problémát, nézze meg csak a RANK funkciót. 4-es döntetlent kell jelentenie a 4. helyen az emberek számára, 115% -kal. De valahogy Lucy a 15. sorban a másik három előtt áll.

A rangfüggvény nem működik

Hogy rájöjjek, segítségkérést küldtem a többi Excel MVP-nek. Jan Karel Pieterse feltörte az Excel fájlt, és belenézett az XML-be. Az XML-ben láthatja, hogy 17 számjegyű pontosságot tárolnak. Az Excelben döntetlennek tűnő négy cella nincs összekapcsolva az XML-ben. A 115% egyike 1.1500000000000001 néven van tárolva, a többi pedig 1.1499999999999999.

Az XML 2 további számjegy tárolását tárja fel.

Eddig a rendezés, rangsorolás és a FREQUENCY függvény használja az extra számjegyeket. Miért probléma? Mivel számítunk arra, hogy a RANK és a COUNTIF ugyanazt a számjegyet használja. Ha az egyik funkció 15, a másik pedig 17 számjegyből áll, problémája van.

Egyelőre úgy tűnik, hogy a megoldás az összes választ konvertálja a =ROUND(A4,15).

Úgy tűnik, hogy a megoldás a ROUND-ot használja

Minden pénteken megvizsgálok egy hibát vagy más halszerű viselkedést az Excel programban. Ezt a számítási hibát nehéz felismerni, és nagy halnak minősül.

Excel gondolata a napnak

Az Excel Master barátaimtól kértem tanácsokat az Excel-mel kapcsolatban. Mai gondolat, hogy elgondolkodjak:

"Valahányszor egyesíted a sejteket, meggyilkolsz egy cicát"

Juhasz Szilvia

érdekes cikkek...