Výuka a školení Excelu Výuka a školení Excelu Výuka a školení Excelu
Výuka a školení Excelu Výuka a školení Excelu

čtvrtek 25. září 2014

Zajímavost s porovnáváním číselných kódů

V tabulce máte tato dvě čísla naformátovaná jako text:
  • 1111111111111119999
  • 1111111111111110000
Myslíte, že tato čísla nejsou stejná? Excel je jiného názoru.


Vida, Excel obě čísla vyhodnotil jako duplicitní.
Stejně se zachová třeba funkce COUNTIF (nebo SUMIF) - tvrdí, že první číslo je v tabulce použité dvakrát.


To už nám může způsobit docela problém - protože funkce v našem případě bude házet naprosto nesmyslné hodnoty a je těžké si toho všimnou.
Je zajímavé, že např. funkce SVYHLEDAT/VLOOKUP nebo POZVYHLEDAT/MATCH fungují správně (na obrázku MATCH ukazuje, že hledané je na druhé pozici)....


...a současně přímé porovnání výsledků také správně ukáže, že hodnoty jsou odlišné.


Pro COUNTIF Excel očividně sleduje jen prvních 15 znaků (pokud se čísla liší na prvních 15 znacích, tak se problém neprojeví). 
Uvedený problém vypadá jako maličkost, ale např. u kódů zboží, kde se běžně jedná o dlouhé číselné řetězce, může vést k naprosto nemyslným výsledkům - o to zákeřnějším, že se projeví jen na některých položkách.
Náprava je přitom snadná - stačí vytvořit a pro porovnání použít (třeba funkcí CONCATENATE) pomocný sloupec, kde budou čísla změněna na:
  • 1111111111111119999x
  • 1111111111111110000x
a vše funguje tak jak má.

1 komentář:

  1. Teda to je něco! Musím se přiznat, že tomu vůbec nerozumím.... Dokonce jsme se to i učili ve škole, při statistice, ale všechno jsem to zase zapomněla. A musí se přiznat, že i ve škole jsem vždy prolézala s odřenýma ušima. Za to můj manžel, který studoval to samé, je na takovéhle věci bedna. On je holt techničtější typ než já. Například teď si pořídil svou 1. 3D tiskárnu</a.

    OdpovědětVymazat