OpenOffice.org/Calc/Problémy/Datum a čas

OpenOffice.org/Calc/Problémy/Datum a čas – problémy s aplikací OpenOffice.org/Calc, související s uložením datumu a času.

Asi nejznámější a nejzlotřilejší problém je, že čísla např. 1.2 Calc zapíše jako 1.2.2010, tj. jako datum. A nejen to! např. 1.X přepíše na 1.10.2010. Zadáte 1/4, a dostanete z toho 1.4.2010. Na toto téma se na Inetu už mnohokrát mluvilo a všichni na to nadávají. Opravdu to naštve, když třeba importujete tabulku o několika stech řádcích, různě je upravujete a až nakonec zjistíte, že občas se vám tam namísto čísla vyskytují nesmyslné datumy.

Možná řešení:

No stejně to nechápu, třeba: Zkouším importovat tabulku českých vysílačů z http://www.radiotv.cz/radio-vysilace/ Z prohlížeče Opera pomocí copy&paste vyberu tabulku a chci ji importovat do Calcu. V tabulce jsou ale jsou desetinné tečky.

  • Jak nastavit lokalizaci? V Nástroje/Volby/Jazyková nastavení/Jazyky je možnost nastavit desetinný oddělovač jako zaškrtávací políčko, kterým souhlasím, že to bude "Podle místního nastavení", tj. čárka. Když ho nezaškrtnu, tak jaký bude? A kde zvolit jiný?
  • Při importu není možno takový sloupec označit jako číslo – nabízejí se mi jen možnosti: Standardní, Text a různé formáty datumů, ale nikde není jako možnost "číslo". Když to nechám jako text, tak se mi to bak zase blbě třídí a formátuje, i když se mi podaří zamezit tomu, aby z toho bylo datum.
  • Jak posléze nastavit formát buňky, abych v ní měl třeba jen čísla? Ve Formát/buňky/čísla si v položce "Kategorie" při vybrání "číslo" nastavím různé formáty čísel, když je to číslo, a jazyky, když je to text atd., ale kde nastavím, že to má interpretovat jako číslo a ne nic jiného, ne datum?

Nakonec to prostě řeším tak, že nastavím lokalizaci anglicky(US) a pak teprve zahájím import. Na nic kloudnějšího jsem nepřišel.

Datum a čas

editovat

De-facto pokračování předchozího tématu. Tentokrát se snažím importovat tabulku, kde ty datumy skutečně jsou. Problémy pak jsou ještě horší, než byly při importu desetinných čísel s desetinnou tečkou.

Jde o to, že používáme VoIP telefon u firmy 802.cz; Chci zjišťovat, kdy kdo komu telefonoval. Záznamy o hovorech jsou na serveru k dispozici pouze za uplynulé 3 měsíce, proto je nutné si je archovovat u sebge na počítači. Zobrazí se na Webu ve formě tabulky za jeden měsíc s hlavičkou např:

Volané číslo Datum a čas Délka hovoru Cena s DPH Stav hovorného
607726481 22.3.2010 22:24:17 00:02:45 8.88 84.99
607726481 22.3.2010 22:23:04 00:00:53 2.82 93.87
atd...
Celkem: 01:35:39 237.29

I když se podaří data importovat na první pohled dobře, tak pak to zobrazení je strašidelné. Např. importuji výpis hovorů z ústředny. Datum a čas za poslední tři dny 13.4. až 14.4. se zobrazí "normálně:, tj. tak, jak byl zadán, tj. ve formátu:

14.4.2010 20:59:56
13.4.2010 07:50:19

Sloupec je zarovnaný vlevo. A z nějakého kouzelného důvodu se starší datum a čas zobrazí v pozměněném formátu, a to ještě zarovnaný vpravo:

               12/04/10 09:30 PM
               06/04/10 10:25 AM

Když na to kliknu a chci editovat, tak to samé datum se mi v editačním řádku zobrazí jako:

             06/04/2010 10:25:46

přenesese v takovém tvaru do spreadsheetu a po opuštění buňky se zase sám změní na ten tvar

               06/04/10 10:25 AM

No prostě divokost sama. Když dám:

  • Úpravy -> Vybrat vše Ctrl-A
  • Formát -> Buňky Ctrl+1 -> Čísla -> Datum

a vyberu nějaký formát datumu, který mi vyhovuje, zobrazí se jen ten datum a čas zmizí. Když naopak vyberu:

  • Formát -> Buňky Ctrl+1 -> Čísla -> Čas

tak se mi zobrazí jen čas a datum zmizí. Když chci oboje, mám na výběr jen formátovací kódy

MM/DD/YY HH:MM AM/PM
MM/DD/YYYY HH:MM:SS

které mi nevyhovují. Jediné řešení je vybrat

  • Kategorie: Definované užitelem

a zadat např:

YYYY-MM-DD HH:MM:SS

a pak se mi v tomhletom formátu zobrazí jen starší datumy od 2010-06-04 do 2010-12-04, ale novější zůstanou v zadaném "tečkovém" formátu, takže výsledek je:

               2010-06-04 10:25:46
               2010-12-04 21:30:36
14.4.2010 20:59:56
13.4.2010 07:50:19

No prostě totální guláš. Prostě z nějakého důvodu tam starší datumy jsou uložené jako datumy a novější jako text, i když byly zadány ve stejném formátu. No ale ty starší datumy mají navíc prohozený den a měsíc, takže z původní hodnoty 12.dubna 2010:

 12.4.2010 21:30:36

je nyní hodnota 4. prosince 2010:

          2010-12-04 21:30:36

Tak v tom je ten problém – ne, jak je které datum staré, ale pokud on ho dokáže pochopit po záměně dne a měsíce jako datum, tak ho zamění a uloží jako datum, a pokud to nepochopí, tak ho uloží jako text. Což je zřejmě důsledek toho, že kvůli číslům s desetinnou tečkou (viz předchozí problém "Datum") jsem nastavil americkou lokalizaci US.

Takže první pokus o řešení bude vrátit lokalizaci na českou, viz OpenOffice.org/Calc/Problémy/Lokalizace. Nicméně dá se předpokládat, že potom mi zase vzniknou problémy se vstupem čísel ve tvaru desetinné tečky. Ano, dopadlo to přesně, jak jsem předpokládal.

Pokus o řešení, i když to je opruz:

  • Soubor -> Nový sešit
  • Vyberu 1. sloupec a: Formát -> Buňky -> číslo: standard
  • Vyberu 2. sloupec a: Formát -> Buňky -> Datum -> Formátovací kód: DD.MM.YYYY HH:MM:SS
  • Vyberu 3. sloupec a: Formát -> Buňky -> čas -> Formátovací kód: HH:MM:SS
  • Vyberu 4.–5. sloupec a: Formát -> Buňky -> číslo -> Jazyk: Anglicky(USA), Formát: General
  • Import:
    • Znaková sada Unicode.
    • Odděleno pomocí: Tabulátor
    • V náhledu se to zobrazí dobře
    • OK
  • Volila! Vypadá to z větší části použitelně. Jen:
    • čísla, končící nulou, se zobrazují bez tí nuly, nutno přeformátovat:
      • Vyberu 4.–5. sloupec a: Formát -> Buňky -> číslo -> Jazyk: Anglicky(USA), Formát: General, desetinná místa: 2
    • dole, celkové částky:
      • nutno importovat zvlášť znovu, neboť se zapsaly do špatných sloupců

Takže nakonec jsem to zvládnul, trvalo mi to přes hodinu, je to fakt opruz! Zná někdo jiné řešení??