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

#1 18. 12. 2014 14:32:24

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

kopirovani maticoveho vzorce v LO - VYŘEŠENO

Dobrý den
z AOO jsem byl zvyklý na jednoduché zkopírování matice normálně ctrl+C+V. V LO toto nefunguje, resp. funguje pouze do jediné buňky a to ještě pouze přes nabídku "Vložit jinak ...". Nemáte někdo tip jak na to v LibreOff? Mám maticový vzorec uzavřený ve složených závorkách jehož výsledkem je ovšem jediná buňka, jediné číslo. Tento vzorec potřebuji rozšířit do celého sloupce (cca 200 řádků). Vzorec zní =INDEX($f_projekty.$H$1:$H$35;MAX(IF($f_projekty.$B$2:$B$35=A9;ROW($f_projekty.$B$2:$B$35);0));1), jde o vyhledávání posledního výskytu a k tomu příslušné hodnoty v jiném sloupci. Pokud byste měl někdo nematicové řešení tak by to bylo taky super.

Editoval ludviktrnka (19. 12. 2014 08:02:42)


LibreOffice 5.2.2.2

Offline

#2 18. 12. 2014 15:43:46

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

Re: kopirovani maticoveho vzorce v LO - VYŘEŠENO

LO 4.3.2.2

Funguje ctrl-v, lze i vybrat oblast. Ale v každém případě je nutné zkontrolovat, co se doopravdy zkopírovalo. (Občas se to nepovedlo a zatím nevím proč.)

Ovšem kopírování tažením myší je KATASTROFA. Co funguje v aoo tady nejde. Nematicová verze uvedeného vzorce je v aoo pomocí SUMPRODUCT, ale to je o dost komplikovanější a hlavne pomalejší. Zhruba tak, pokud jsem se neuklepl:

SUMPRODUCT(1*(ROW($f_projekty.$B$2:$B$35)=MAX(IF($f_projekty.$B$2:$B$35=A9;ROW($f_projekty.$B$2:$B$35);0)));$f_projekty.$H$2:$H$35)

Offline

#3 18. 12. 2014 18:53:55

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

Re: kopirovani maticoveho vzorce v LO - VYŘEŠENO

LO 4.3.4.1
Děkuji velice. Ctrl+V skutečně funguje, ale bohužel vždy jen do jedné buňky, kopie do výběru vloží vzorec ale bez maticového uložení (narozdíl od AOO).

Důvodem předešlého úplně špatného chování byla ovšem chybka ve vzorci, která se projevovala dost zvláštně kvůli indexování na nultý řádek, což by mělo správně dát chybu ale nedalo, správně má být =INDEX($f_projekty.$H$1:$H$35;MAX(IF($f_projekty.$B$2:$B$35=A9;ROW($f_projekty.$B$2:$B$35);1));1) s tím že první řádek bude holt nějak ošetřen (není součástí databáze jako takové). Váš vzorec se mi nepodařilo rozchodit a ani se mi nepodařilo rozklíčovat jeho strukturu a vyloženě syntaktickou chybu jsem tam nenašel, tak se spokojím s tím že zkopíruju maticový vzorec po jedné buňce.

(Maticový vzorec, jehož výslekem je matice, nejspíš bere chybu jako nulu a platné hodnoty zobrazuje, to by vysvětlilo to podivné chování, mám pravdu?)


LibreOffice 5.2.2.2

Offline

#4 18. 12. 2014 20:02:48

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

Re: kopirovani maticoveho vzorce v LO - VYŘEŠENO

Já jsem to dělal zrovna předevčírem. Skutečně lze nakopírovat úspěšně jen jednu buňku, ale když už máme třeba 10 kopii, lze kopírovat tento úsek celý. Takže nejlepší je udělat 1 kopii, zkopírovat ty dvě buňky, vykopírovat na 4 (6, 8. 10 ap) načíst a kopírovat znovu úsek všech buněk.

Editoval neutr (18. 12. 2014 20:04:24)


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

Offline

#5 19. 12. 2014 08:02:22

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

Re: kopirovani maticoveho vzorce v LO - VYŘEŠENO

to neutr: díky, to jsem nevyzkoušel, tož tímto se to výrazně ulehčí.


LibreOffice 5.2.2.2

Offline

#6 19. 12. 2014 10:20:54

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

Re: kopirovani maticoveho vzorce v LO - VYŘEŠENO

Ještě mě napadla jedna varianta. V AOO připravit výpočet a těch pár grafických drobností dodělat v LO. Nebo zvážit používání LO.

(Chyba je registrována, https://www.libreoffice.org/bugzilla/sh … i?id=80137 je klasifikována "medium minor"). Prý jde jen o drobné nepohodlí při práci, ale kopírovat to jde.)

Offline

#7 19. 12. 2014 12:12:10

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

Re: kopirovani maticoveho vzorce v LO - VYŘEŠENO

myslím že LO je stabilnější a rychlejší, ale má dost "nezvyklostí". Tak jak navrhujete jsem to udělal proto jsem nepřišel na neutrovu metodu. Díky za všechny reakce.


LibreOffice 5.2.2.2

Offline

#8 19. 12. 2014 17:21:56

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

Re: kopirovani maticoveho vzorce v LO - VYŘEŠENO

"Normální" vzorec

Předchozí varianta fungovala v případě číselného výsledku.

V případě textu je náhradou násl. vzorec:

=INDEX($f_projekty.$H$1:$H$35;SUMPRODUCT(1*(MAX(IF($f_projekty.$B$2:$B$35=A9;ROW($f_projekty.$B$2:$B$35);1))=ROW($f_projekty.$B$2:$B$35));ROW($f_projekty.$B$2:$B$35)))

Offline

#9 20. 12. 2014 11:57:30

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

Re: kopirovani maticoveho vzorce v LO - VYŘEŠENO

aha díky, ten předchozí vzorec dával chybu #VALUE (nebo tak nějak), tento už funguje. Výstupem je samozřejmě číslo, ale podmínka $f_projekty.$B$2:$B$35=A9 se týká textu, nenapadlo mne že v tomto může být problém. Nicméně tedy děkuji - zvážím, co je tedy přijatelnější zda vzorec, kterému nerozumím, nebo matice, které sice rozumím ale nejde ji pořádně kopírovat :-) Díky moc.


LibreOffice 5.2.2.2

Offline

Zápatí