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

#1 9. 7. 2021 14:45:27

barevnej
Člen
Registrace: 6. 8. 2015
Příspěvků: 94

Text do sloupců

Občas se stane že dostanu fakturu která je jen v PDF tak jí převedu do tabulky a potřebuji oddělit třeba text od EANů což většinou jde nějak vyřešit ale teď vážně nevím, je to takový oříšek.
_
a1.png
_
Úmyslně ukazuji šipkami že sem tam je to bez mezer tak těžko mohu oddělit vše mezerou. Pak si říkám co takhle to odělit řetězcem který vždy začíná u této faktury stejně u všech EANů "59007" a pk si to tam snadno zase vrátím a měl bych eány venku.
_
a2.png
_
Jenže zrada, ono to bere jako každé písmeno/číslo zvlášť a ne jako celek. Tak a jsem v koncích.

Offline

#2 9. 7. 2021 14:51:36

barevnej
Člen
Registrace: 6. 8. 2015
Příspěvků: 94

Re: Text do sloupců

Asi blbej nápad, nejde invertovat neboli překlopit text? Jako že z textu ABC > CBA
Pak už by šlo pevnou šířkou eany odělit a zase překlopit zpět.

Offline

#3 9. 7. 2021 15:07:51

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

Re: Text do sloupců

Zeptám se proč nepoužijete jako oddělovač mezeru? Oddělovače lze sloučit. Navíc bych to viděl spíš na sekundární zpracování tabulky kde by se to opravilo vzorcem, nebo makrem.


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

#4 9. 7. 2021 15:20:10

barevnej
Člen
Registrace: 6. 8. 2015
Příspěvků: 94

Re: Text do sloupců

Mezeru bych právě použil jenže ne vždy tam je mezera.
a3.png

Offline

#5 9. 7. 2021 15:25:06

barevnej
Člen
Registrace: 6. 8. 2015
Příspěvků: 94

Re: Text do sloupců

Asi by to šlo odělit mezerou, pak vše na koncích hodit do jednoho sloupce a zase odělit podle třeba písmena "n" pak zase seřadit a zase podle písmena "t"... až do té doby dokud by to nebylo hotové. Jen si říkám že už je to zbytečně složité. Stačilo by jen mít možnost použít jako odělovač řetězec namísto jednoho znaku.
_
Také je nemožné si říct že EAN má vždy 13 znaků, jsou tam mezi tím i kratší EANy.
_
Ručně to samozřejmě dokážu, jen se snažím naučit něco nového jelikož se s tím setkávám častěji smile

Editoval barevnej (9. 7. 2021 15:28:39)

Offline

#6 9. 7. 2021 15:30:55

barevnej
Člen
Registrace: 6. 8. 2015
Příspěvků: 94

Re: Text do sloupců

Ha mám to smile
Pokud nahradím text "59007" za ";" pak mohu snadno rozdělit a pak zase vzorcem vrátit zpět "59007" smile

Offline

#7 9. 7. 2021 16:55:10

kamlan
Člen
Registrace: 15. 9. 2016
Příspěvků: 312

Re: Text do sloupců

Já na to použil REGEX(REGEX ...). "Vnitřní" REGEX rozliší dva výrazy - 1) text; 2) poslední číslice z výrazu - bere se 5 a více číslic, případně lze zadat třeba (59007\d+), což je tedy kód EAN. A "vnější" REGEX odstraní případný řetězec mezeraEanMožnáMezera z konce toho prvního textu.


=REGEX(REGEX(A1;"^(.+?)(\d{5,})$";"$1");"^(.+) (ean|Ean|EAN) ?$";"$1") - název bez EAN
=REGEX(A1;"^(.+?)(\d{5,})$";"$2") - kód EAN


Hledání bez rozlišení velikosti písmen se nastavuje v Nástroje/ Možnosti/ LibreOffice Calc/ Výpočty -> Rozlišovat velikost písmen. Pokud byste to neměl zašktrlé, tak by v reguláru nemuselo být ean|Ean|EAN + případně další kombinace pro různé velikosti písmen EAN, ale stačilo by jen ean.


Ukázka zde https://uloz.to/tamhle/WlZwT81Y6Teq#!ZJ … SlIF10BQNj

Editoval kamlan (9. 7. 2021 16:57:10)

Offline

#8 11. 7. 2021 10:22:02

barevnej
Člen
Registrace: 6. 8. 2015
Příspěvků: 94

Re: Text do sloupců

@kamlan: Tohle je hodně zajimavý, přesně tohle jsem očekával když jsem zakládal toto vlákno. Rád se učím novým věcem, ne že bych to nedokázal jinak jen mi vrtalo hlavou jak na to. Toto řešení lze aplikovat na hromadu jiných věcí. Mockrát děkuji i za ukázku wink
Jdu studovat REGEX

Offline

Zápatí