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

#1 2. 10. 2010 13:28:57

hancz
Člen
Registrace: 15. 10. 2008
Příspěvků: 1

Funkce hledání části textu podle formátu a přesun

Mám cca 3000 řádků a ve sloupci "A" mám text, jehož začátek (2 až 3 slova) je psaný velkými písmeny, následujou slova malým písmem, pak je znak | a další text.

př.

234 NAZDAR KAMO JAK SE ti daří | A123

potřeboval bych vědět jestli lze pomocí nějakého makra nebo skriptu přesunout všechen text za posledním velkým písmenem před tyto velká písmena a aby znak | a vše co je za nim zůstal za velkými písmeny


požadovaný výstup:

ti daří 234 NAZDAR KAMO SE | A123

Takže bych potřeboval něco jako:

najdi řetězec začínající malým písmenem a končícím mezerou před znakem | a přesuň ho na začátek buňky (nebo přesuň ho před první velké písmeno v buňce)

Za jakýkoliv udání směru kudy se vydat a kde hledat, velice děkuji.

__________________________________________________
verze OO:

OpenOffice.org 3.2.1
OOO320m19 (Build:9505)
ooo-build 3.2.1.4

(OpenSuse 11.3, KDE 4.4.4)

Offline

#2 2. 10. 2010 23:50:25

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

Re: Funkce hledání části textu podle formátu a přesun

Pokud by na to stačily vzorce, je to celkem snadné, stačí:

b1: =MIN(IF(MID(A1;ROW(INDIRECT("a1:a"&LEN(A1)));1) <> UPPER(MID(A1;ROW(INDIRECT("a1:a"&LEN(A1)));1));ROW(INDIRECT("a1:a"&LEN(A1)));99999))

-- vložit jako maticový (ctrl-shift-enter) -- spočte pozici prvního malého písmene, pokud ho nenajde, vrátí 99999

c1:  =FIND("|";A1;1)

-- vložit normálně -- najde pozici "|"

d1: =MID(A1;B1;C1-B1)&MID(A1;1;B1-1)&MID(A1;C1;LEN(A1)-C1+1)

-- Snadné, poskládá výsledný text, bylo by vhodné vzorec doplnit o test, jestli text odpovídá šabloně

Pomocí najít - nahradit to snad jednou půjde také, ovšem zatím je v calcu chyba - regulární výrazy moc nefungují

Jinak - na toto existují vhodnější nástroje než calc (sed, awk, perl ,...)

Offline

#3 3. 10. 2010 15:45:51

hanus
Člen
Místo Olomouc
Registrace: 29. 11. 2006
Příspěvků: 573
Web

Re: Funkce hledání části textu podle formátu a přesun

Vzorec pro sl.B je cool :-) Fascinuje mě to vytvoření cyklu pomocí INDIRECT a ROW :-) (aby to ostatní nemátlo, mohlo tam být např. X1:X  :-) )

Editoval hanus (3. 10. 2010 15:58:30)

Offline

Zápatí