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

úterý 8. července 2014

Záludnost s desetinnou čárkou a tečkou

Představte si, že máte v buňkách tato čísla:
  • 100,4 
  • 1,004 
  • 1,04
a jste v Excelu, který je ve standardních českých Windows, a tedy používá desetinné čárky (ne desetinné tečky).
Pak chcete tento soubor nahrát do nějakého systému, který vyžaduje csv s desetinnými tečkami.
Takže dáte Ctrl F (najít a nahradit) a nahradíte všechny čárky tečkami.
Takto bude vypadat výsledek:
  • 100.4 
  • 1.004 
  • 1.4
První dvě čísla se změní na text, ale zůstanou v pořádku. Prostě se čárka nahradí tečkou.
Trochu děsívě se zachová poslední číslo - odstraní jednu nulu a z 1,04 udělá 1,4(!!!)
Nechápu proč, týká se to jen čísel s jednou nulou vpravo od desetinné čárky. 
Tohohle problému se snadno vyvarujete tím, že přepnete celé Windows z čárek na tečky (tady je návod pro změnu čárek a středníků jako oddělovačů - což se dělá prakticky stejně), ale problém je, že když o této chybě nevíte, nemáte téměř šanci ji ve velkých souborech dat odhalit - protože se mění jen sem tam nějaké číslo a jen o málo.
Uvedený problém mám vyzkoušený v Excelu verze 2010 CZ.



9 komentářů:

  1. Dobrý den, znáte doplněk RJ Tools ? Je snadno k nalezení na netu a já ho požívám na spoustu věcí už delší dobu. Pomocí tohoto doplňku stačí nahradit číslo za text a pak nahradit čárku za tečku. Nemusím přepínat celá Windows.
    Ahoj Katka

    OdpovědětVymazat
  2. Neznám, díky za tip. Jinak ale tenhle problém se mě vyskytl i když jsem převedl na text.

    OdpovědětVymazat
  3. On Excel totiž 1.04 automaticky převádí na datum :( 32.09 už zvládne

    Osobně export do csv řeším VBA makrem, které vládne 1,04 převést správně (právě jsem otestoval).

    ActiveWorkbook.SaveAs Filename:="D:\moje-csv.csv", FileFormat:=xlCSV, Local:=False

    OdpovědětVymazat
  4. Aha, to už dává smysl, nechápu, proč mě to nenapadlo :)
    Makro dobré, ale stejně se mi zdá nejšikovnější nastavit systém na tečkový režim.

    OdpovědětVymazat
  5. Ahoj Jirko, mám pocit, že problém bys mohl vyřešit i přes text do sloupců, tam se nastavuje oddělovač taktéž ;-) funguje to na 2013 určitě . Krásný den.

    OdpovědětVymazat
  6. Petře, myslím že tohle je něco jiného. Při textu do sloupců stanovuješ (třeba při importu z CSV), který znak bude znamenat, že končí jeden sloupec a začíná druhý.

    OdpovědětVymazat
  7. No to samozřejmě že ano, ale když importuješ data z IS jako je třeba BaaN ERP nebo SAP, tak se velmi často setkáš právě s americkým formátem - čárka jako oddělovač tisíců a tečka jako desetinné místo. Tam je při importu zrovna takový problém. Jen tak zkusmo, stáhni si z český spořitelny kurzovní lístek a zkus si ho naimportovat a možná, že se budeš divit, co ti z toho vypadne (do emailu ti posílám pár obrázků). Hodně zdaru. P.s. kdysi jsi dělal pro Digi trade (nebo teď Digi akademii, že?)

    OdpovědětVymazat
  8. Aha, tak to už rozumím. V Digi trade jsem byl kolem roku 2007, známe se tamodtud? :)

    OdpovědětVymazat
  9. JJ, přesně, já tam byl do loňských vánoc. Teď jsem v jedné firmě na Vysočině, kdes shodou okolností školil nějaký základy PowerPivotu ;-) a našel jsem tam odkaz na tvoje stránky.

    OdpovědětVymazat