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ů: 224

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,435

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ů: 224

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ů: 842

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ů: 224

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ů: 842

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ů: 224

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ů: 842

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

#9 1. 2. 2023 17:14:47

ludviktrnka
Člen
Registrace: 9. 7. 2009
Příspěvků: 697

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

to lp. děkuji, mockrát jsem to řešil přes Value, ale to nahrazení např. čárku za čárku fakt funguje a pro větší množství dat je to opravdu mnohem efektivnější. Super.


LibreOffice 5.4.

Offline

#10 1. 2. 2023 19:52:46

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

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

Díky za popis, stále ale nemohu pořijít na to jak formát změnit.
Popíši:
Mám v buňce toto (bez uvozovek): "'6789"
Formátovací znak "'" je vidět, jak píšete, pouze při editaci buňky. Tehdy ho také mohu ručně vymazat a tím text konvertovat na číslo

Ale pokud dám vyhledávat ', takový znak nalezen není a tedy ho ani nemohu nahradit.
Jak tedy Formátovací znak vyhledat a nahradit? (nebavím se o dvojtečkách mezi čísly ale o formátovacím znaku).

Editoval imcon (1. 2. 2023 19:54:32)

Offline

#11 3. 2. 2023 08:32:47

ludviktrnka
Člen
Registrace: 9. 7. 2009
Příspěvků: 697

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

já jsem teď měl čísla většinou celá nebo zakrouhlena na 0,5. Omylem jsem načetl data z csv se zaškrtnutým "pole v uvozovkách jako text", což není úplně dobré při importu čísel :-). Takže v buňce bylo to co říkáte - neviditelný apostrof a číslo třeba 5 nebo 128 nebo 2,5 apod. (zarovnáno vlevo). Označil jsem celý sloupec (asi 2000 řádků), dal jsem ctrl+H, do pole vyhledat napíšu čárku "," a do pole nahradit taky ",". No a výsledek je, že i číslo 5 i číslo 2,5 se přeformátují na číslo (zarovnáno vpravo). Hotovo. Vy jste se ale ptal původně na datum, to jsem nezkoušel.


EDIT: pardon, teď se koukám do zdroje a já tam měl vždy 5,0; 128,0 atd. takže čárka fungovala. Pokud tam čárka vůbec není např.: '5 tak je potřeba použít regulární výraz např. vyhledat [:digit:] a nahradit za &

Editoval ludviktrnka (3. 2. 2023 15:09:41)


LibreOffice 5.4.

Offline

#12 3. 2. 2023 11:28:32

kabi
Člen
Registrace: 1. 6. 2017
Příspěvků: 167

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

můžete také označit sloupec a použít volbu Data -> Text do sloupců. Při tomto převodu si můžete zvolit formát, který vám bude vyhovovat.

Offline

#13 3. 2. 2023 14:47:57

ludviktrnka
Člen
Registrace: 9. 7. 2009
Příspěvků: 697

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

kabi napsal(a)

můžete také označit sloupec a použít volbu Data -> Text do sloupců. Při tomto převodu si můžete zvolit formát, který vám bude vyhovovat.

... zkouším to na desetiných číslech s tečkou místo čárky (poměrně typická potíž) a nějak mi to takto nejde a nejde mi to ani s textovými buňkami s obsahem desetinných a celých čísel s desetinou čárkou ale s neviditelným uvozujícím apostrofem. Tak nevím. Nějaký moc možnosti tam nejsou, volba detekovat speciální čísla je nepřístupná a stejně tak znaková sada. Ale možná je to mým starým LO.

EDIT: ale funguje to na datum, to je pravda.

Editoval ludviktrnka (3. 2. 2023 14:59:39)


LibreOffice 5.4.

Offline

#14 3. 2. 2023 15:34:11

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

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

Abych to shrnul:
takže řešení jak převést textově uvedené číslo "'1234" na číslo jednoduše pomocí vestavěné operace nikdo nezná.
Zatím jediná objevená možnost je použít vzorec "=Value(odkaz na buňku)"

Offline

#15 3. 2. 2023 16:13:25

ludviktrnka
Člen
Registrace: 9. 7. 2009
Příspěvků: 697

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

to imcon: možná byste měl přečíst pár příspěvků v této dikuzi opravdu pořádně než učiníte takový definitivní závěr.

ludviktrnka napsal(a)

Pokud tam čárka vůbec není např.: '5 tak je potřeba použít regulární výraz např. vyhledat [:digit:] a nahradit za &


LibreOffice 5.4.

Offline

#16 3. 2. 2023 16:58:04

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

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

Díky za reakci, opravdu funguje, musím se ovšem přiznat, že jsem nepřišel na to co znamená znak "&"

Offline

#17 3. 2. 2023 17:14:31

ludviktrnka
Člen
Registrace: 9. 7. 2009
Příspěvků: 697

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


LibreOffice 5.4.

Offline

#18 5. 2. 2023 09:07:17

kabi
Člen
Registrace: 1. 6. 2017
Příspěvků: 167

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

ludviktrnka napsal(a)
kabi napsal(a)

můžete také označit sloupec a použít volbu Data -> Text do sloupců. Při tomto převodu si můžete zvolit formát, který vám bude vyhovovat.

... zkouším to na desetiných číslech s tečkou místo čárky (poměrně typická potíž) a nějak mi to takto nejde a nejde mi to ani s textovými buňkami s obsahem desetinných a celých čísel s desetinou čárkou ale s neviditelným uvozujícím apostrofem. Tak nevím. Nějaký moc možnosti tam nejsou, volba detekovat speciální čísla je nepřístupná a stejně tak znaková sada. Ale možná je to mým starým LO.

EDIT: ale funguje to na datum, to je pravda.


Ty možnosti jsou stejně jako při importu pomocí Ctrl-Shift-Alt-V. Tzn. v oddílu 'Pole' kliknete pravým tlačítkem na záhlaví nebo ¨do zobrazených dat převáděného sloupce a vyberete volbu 'Anglicky (USA)'. Potvrdíte OK a máte převedeno.

Offline

#19 8. 2. 2023 07:53:05

ludviktrnka
Člen
Registrace: 9. 7. 2009
Příspěvků: 697

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

to kabi: jj, s volbou "USA" to opravdu funguje jak pro apostrofy tak pro desetinné tečky - ale na to člověk fakt sám nepřijde. Díky.


A ještě tedy jeden dotaz: píšete, že je volba stejná jako při vkládání pomocí Ctrl-Shift-Alt-V. Tohle mi žádný příkaz nespouští, možná jste měl namysli Ctrl+Shift+V, což ale stejnou volbu neumožňuje, resp. nepodařilo se mi takto převést ani desetinné tečky ani apostrofy na standardní čísla. Nějaký návod?


Už tomu asi rozumím - jde zřejmě o import (vložení) neformátovaného textu, sice ta klávesová zkratka mi fakt nefunguje, spouštím to přes "roletku" pod tlačítkem "vložit" na toolbaru a tady je nabídka stejná to je jasné, je to vlastně stejná funkce. Takže ano, jsou minimálně dvě cesty jak se k této funkci dostat. Asi jste měl namysli toto.

Editoval ludviktrnka (8. 2. 2023 08:24:35)


LibreOffice 5.4.

Offline

#20 8. 2. 2023 10:02:11

kabi
Člen
Registrace: 1. 6. 2017
Příspěvků: 167

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

je divné, že vám ta klávesová zkratka nefunguje. Do LO byla přidána ve verzi 6.0 viz https://wiki.documentfoundation.org/ReleaseNotes/6.0
A pokud zvolím v menu nabídky Úpravy-> Vložit jinak, tak je tam tato zkratka u nabídky 'Vložit neformátovaný text' uvedená (používám LO 7.x).

Editoval kabi (8. 2. 2023 10:11:32)

Offline

#21 8. 2. 2023 20:04:22

ludviktrnka
Člen
Registrace: 9. 7. 2009
Příspěvků: 697

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

Aha, mám teď LO 5.4 kvůli bezproblémovému běhu maker. Tak to bude tím.


LibreOffice 5.4.

Offline

Zápatí