Fórum pro uživatele kancelářského balíku OpenOffice | LibreOffice
 

#1 26. 12. 2022 10:55:44

imcon
Člen
Místo Brno
Registrace: 16. 5. 2007
Příspěvků: 213

Změna formátování textu na ...(třeba datum) - apostrof - VYŘEŠENO

Ahoj,
delší dobu narážíme na problémy s přeformátováním buněk, většinou při importech z jiných formátů, např Excelu.
Desetinná tečka/čárka je ještě nějakým způsobem řešitelná hromadně.

Co ale vyřešit neumím je jak buňky označené apostrofem (tedy brána jako text) udělat netextovou hodnotu?
Například mám po importu (z měřicího programu) datum označené takto: '00:00:00
Vidět je jako textová hodnota, tedy 00:00:00

Potřebuji ale, aby byla hodnota brána jako datum.

S tímto převodem jsem si zatím vždy vylámal zuby.

Poradíte prosím jak udělat konverzi?




Podobné téma:
https://forum.openoffice.cz/viewtopic.php?id=5731

Editoval imcon (26. 12. 2022 20:45:40)

Offline

#2 26. 12. 2022 16:41:28

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 3,389

Re: Změna formátování textu na ...(třeba datum) - apostrof - VYŘEŠENO

imcon napsal(a)

Ahoj,
Například mám po importu (z měřicího programu) datum označené takto: '00:00:00
Vidět je jako textová hodnota, tedy 00:00:00
Potřebuji ale, aby byla hodnota brána jako datum.


     V tomto případě pomůže "=Value(odkaz na buňku)". Buňku se vzorcem naformátujte na datum. Pokud je toho hodně, pomůže asi makro, ale stajný typ bývá ve stejném sloupci, takže vzorec v pomocném sloupci vyhovuje.

Editoval neutr (26. 12. 2022 16:41:56)


Moje e-mailová adresa
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte orientaci při vyhledávání řešení JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#3 26. 12. 2022 20:45:27

imcon
Člen
Místo Brno
Registrace: 16. 5. 2007
Příspěvků: 213

Re: Změna formátování textu na ...(třeba datum) - apostrof - VYŘEŠENO

Super! Takto je to OK.
Občas člověk pro oči nevidí.
Mockrát děkuji. Trvalou pomoc komunitě bych ocenil nějakým příspěvkem, ale kam s ním?

Offline

#4 27. 12. 2022 17:15:56

lp.
Člen
Registrace: 24. 9. 2009
Příspěvků: 833

Re: Změna formátování textu na ...(třeba datum) - apostrof - VYŘEŠENO

Zkuste něco najít a nahradit za to samé. Tady třeba dvojtečku za dvojtečku.

Offline

#5 29. 12. 2022 15:50:31

imcon
Člen
Místo Brno
Registrace: 16. 5. 2007
Příspěvků: 213

Re: Změna formátování textu na ...(třeba datum) - apostrof - VYŘEŠENO

lp. napsal(a)

Zkuste něco najít a nahradit za to samé. Tady třeba dvojtečku za dvojtečku.

:-) tím lze nahradit tečku za čárku pro konverzi čísel, ne formát, o kterém jsem dotaz psal.
To řeší zmiňované  "=Value(odkaz na buňku)"

Offline

#6 31. 12. 2022 18:28:59

lp.
Člen
Registrace: 24. 9. 2009
Příspěvků: 833

Re: Změna formátování textu na ...(třeba datum) - apostrof - VYŘEŠENO

Buď jste nahrazení nezkusil nebo je tam nezmíněný problém.

Zkusím to podrobněji.

Pokud zapisuji do buňky čas, tak ho zapíši jako text a calc mi to zkonvertuje na správný typ hodnoty (čas). Tj. explicitně žádné =Value("00:15:01") psát nemusím.

Pokud v buňce nahradím hodnotu za jinou, tak zpracování výsledné hodnoty calc zkontroluje a výsledek také zkonvertuje na správný typ hodnoty.

Toho mohu využít a nahradit hodnotu v buňce tak, aby výsledný textový zápis byl stejný jako původní a pokud je text korektní zápis např. času, tak calc předpokládá, že se hodnota změnila, zpracuje ji, jako když by se zadala z klávesnice a zkonvertuje ji na správný typ. Nahrazení mohu provést i hromadně.

Pochopitelně, podmínkou je (stejně jako u zadávání do prázdné buňky), že formát buňky není text.

Pomocí regulárního výrazu lze nahradit libovolnou buňku za stejnou. Obvykle ale nechci zasahovat do všech buněk v oblasti, proto při konverzi času volím dvojtečku za dvojtečku.

Jinak proti vzorcům nic nemám, jen vyžadují další prostor a víc psaní. Určitou výhodou vzorce může být kombinace hodnot z více buněk, ale to není tento případ. Tady je to na pár kliků.

Také lze použít funkci "Text do sloupců".

Editoval lp. (31. 12. 2022 18:34:52)

Offline

#7 1. 1. 2023 22:03:57

imcon
Člen
Místo Brno
Registrace: 16. 5. 2007
Příspěvků: 213

Re: Změna formátování textu na ...(třeba datum) - apostrof - VYŘEŠENO

Díky za odpověď, možná máte na mysli ještě jiný, rychlejší způsob opravy importovaných hodnot, ale zcela jsem ho nepochopil, takže komentuji:

lp. napsal(a)

Buď jste nahrazení nezkusil nebo je tam nezmíněný problém.

Opravy nahrazením děláme pomocí Ctrl-H (například právě záměna tečky za čárku pro opravu importovaných čísel).
Pokud by tímto nahrazením šel také změnit formát z textu (hodnota po importu uvozená apostrofem) na číslo/čas, super, nevím ale jak.


lp. napsal(a)

Pokud zapisuji do buňky čas, tak ho zapíši jako text a calc mi to zkonvertuje na správný typ hodnoty (čas). Tj. explicitně žádné =Value("00:15:01") psát nemusím.

Pokud v buňce nahradím hodnotu za jinou, tak zpracování výsledné hodnoty calc zkontroluje a výsledek také zkonvertuje na správný typ hodnoty.

Nezapisujeme nic do buňky, ale zpracováváme importovaná data (u CSV importu se dají ručně typ sloupce nadefinovat) resp. data načtená z jiných souborů (zpravidla z Excelu).
Nelze data opravovat buňku po buňce ručně.

Oprava vzorcem  "=Value(odkaz na buňku)" je tedy celkem jednoduchá = v novém sloupci ji na první buňce nadefinuji a pak jen rychle překopíruji na celý sloupec. Je jedno, o kolik hodnot se jedná.

lp. napsal(a)

Pochopitelně, podmínkou je (stejně jako u zadávání do prázdné buňky), že formát buňky není text.

No o to právě šlo. Hodnoty co se naimportují jsou označeny apostrofem, tedy Calc je bere jako text a s tím jsem si neuměl poradit (VALUE to řeší pomocí vzorce, hromadně nahrazením to stále neumím).
Pravdou regulární výrazy jsem nepoužíval, nevím tedy, jestli by to nešlo pomocí nich.

Editoval imcon (1. 1. 2023 22:05:16)

Offline

#8 2. 1. 2023 11:29:03

lp.
Člen
Registrace: 24. 9. 2009
Příspěvků: 833

Re: Změna formátování textu na ...(třeba datum) - apostrof - VYŘEŠENO

Máte v tom zmatek.

Slovo formát je trochu přetíženo. Formát buňky (jak se zobrazuje, jak se chová) ovlivňují dva atributy - jeden obsahuje formátovací řetězec, ten druhý je formátovací znak (jméno si nepamatuji). Ten znak má přednost (používaných znaků může být víc - ', ", ^). Formátovací znak je vidět v řádku vzorců v první pozici. Je to ale hodnota atributu, ne hodnota buňky. Pokud je odstraněn (např. při editaci hodnoty v řádku vzorce), je formát buňky určen formátovacím řetězcem.

Formátovací znak (apostrof v první pozici buňky) tedy není součástí hodnoty. Nelze ho smazat nahrazením protože tato funkce prohledává hodnotu/vzorec buňky. (Jedině F2 nebo makro.)

Při importu ale formátovací řetězec, jak snadno zjistíte, zpravidla není text ("@").

Hromadně uvedené případy nesprávného formátu běžně opravuji nahrazováním, funguje u lo calc, v oo calc (poslední verzi už netestuji), a dokonce i u excelu. Jak to provést viz předchozí text (najít ':', nahradit ":"). Toto odstraní formátovací znak a calc výslednou hodnotu interpretuje podobně, jako když je zadána do buňky ručně.

Je mi jedno co použijete, důležitá je spokojenost s výsledkem.

Offline

Zápatí