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

#1 6. 10. 2010 06:23:16

ZdenekC
Člen
Registrace: 6. 10. 2010
Příspěvků: 50

nežádoucí změna vzorce při vložení buněk

Při vložení buněk se přepíše vzorec. To nechci. Jak postupovat, aby se vzorec nezměnil?

Příklad:
mám vzorec v buňce B2 =A2
nad A2 vložím buňku nebo řádek
automaticky se mi změní vzorec na B2 =A3
Chci, aby zůstal vzorec nezměněný, tedy, aby bylo B2 =A2 bez ohledu na to, kolik vložím buněk nebo řádků nad A2.

Offline

#2 6. 10. 2010 07:17:11

Zvedavec
Člen
Registrace: 8. 11. 2004
Příspěvků: 484

Re: nežádoucí změna vzorce při vložení buněk

Pouzit absolutni adresu? =$A$2 (toto je "rezistentni" obema smery)


LO většinou poslední verze, na W10 prof. 32b/64b

Offline

#3 6. 10. 2010 07:19:39

ZdenekC
Člen
Registrace: 6. 10. 2010
Příspěvků: 50

Re: nežádoucí změna vzorce při vložení buněk

Abslolutní adresy jsem zkoušel, ale chová se to stejně. Vzorec se změní.

Offline

#4 6. 10. 2010 07:27:25

Zvedavec
Člen
Registrace: 8. 11. 2004
Příspěvků: 484

Re: nežádoucí změna vzorce při vložení buněk

TEd jsem to zkusil, do c3 jsem napsal =$A$1, vlozil jsem nad tento radek prazdne radky a adresa se nezmenila.
Jakou mate verzi OO?


LO většinou poslední verze, na W10 prof. 32b/64b

Offline

#5 6. 10. 2010 07:37:23

ZdenekC
Člen
Registrace: 6. 10. 2010
Příspěvků: 50

Re: nežádoucí změna vzorce při vložení buněk

Oo 3.2.1

Offline

#6 6. 10. 2010 08:03:24

Zvedavec
Člen
Registrace: 8. 11. 2004
Příspěvků: 484

Re: nežádoucí změna vzorce při vložení buněk

Hm, tak leda pockat, jestli to overi jeste nekdo na 3.2.1 a potvrdi nebo vyvrati. Ja at delam co delam, Calc ke zmene te absolutni adresy nedonutim.
Zkuste snad jeste pro jistoru, jestli ta absolutni adresa drzi aspon pri kopirovani.


LO většinou poslední verze, na W10 prof. 32b/64b

Offline

#7 6. 10. 2010 08:09:21

ZdenekC
Člen
Registrace: 6. 10. 2010
Příspěvků: 50

Re: nežádoucí změna vzorce při vložení buněk

Při kopírování adresu drží.

Offline

#8 6. 10. 2010 11:21:28

Ondra.kl
Člen
Registrace: 30. 9. 2008
Příspěvků: 933

Re: nežádoucí změna vzorce při vložení buněk

Při kopírování se adresa drží, při vkládání buněk ne. (ověřeno na OOo 3.2.1 / WinXP)

Myslím že se vychází z toho že si při vložení / odstranění buněk nechci rozbít výpočty  ---> aby se udržela reference na správnou / původní buňku, tak se musí změnit adresace. Nejsem si jistý ale mám za to že takhle to v OOo fungovalo vždycky, nevím jak je to v excelu a go-oo.

Offline

#9 6. 10. 2010 12:03:36

j-pastierik
Člen
Registrace: 15. 11. 2004
Příspěvků: 761

Re: nežádoucí změna vzorce při vložení buněk

OO.o sa správa podľa toho, kde je odkazovaný údaj - ak je pred vkladaným riadkom, odkaz sa nezmení, ak je za vkladaným riadkom, odkaz sa zmení. Pri tomto nezáleží na tom, či adresa obsahuje/neobsahuje absolútne adresovanie (znak $). Je to presne tak, ako píše Ondra.kl - OO.o nerozbíja výpočty.

Offline

#10 6. 10. 2010 12:08:49

Zvedavec
Člen
Registrace: 8. 11. 2004
Příspěvků: 484

Re: nežádoucí změna vzorce při vložení buněk

Tak az ted mi to doslo. JA vkladal radky mezi bunku s daty a bunku se vzorcem. Vlozit radky nad bunku s daty me nenapadlo, spatne jsem to precetl a tim padem jsem zkousel neco jineho.
Kdyz vlozim radky nad bunku A1, tak se to preadresuje i me.

Omlouvam se za mateni.


LO většinou poslední verze, na W10 prof. 32b/64b

Offline

#11 6. 10. 2010 12:12:03

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

Re: nežádoucí změna vzorce při vložení buněk

Tuším, že se to tu nedávno řešilo.

použijte některou z funkcí indirect nebo offset

Buňka B2: =A2

Přepište na některou variantu:

=INDIRECT("A2")                    /absolutní odkaz

=INDIRECT("RC[-1]";0)              /relativní odkaz (užitečné, kdyř chcete vzorec kopírovat

=OFFSET(B2;0;-1)   / relativní odkaz, v tomto případě je nutno povolit cyklický odkaz

ps:

Chování JE popsané a JE žádoucí, ono měnit pro každém vložení buňky někdy rozsáhlý výpočet by bylo podstatně horší. Na druhé straně manipulace s buňkami mohou být zdrojem chyb. Kromě uvedeného, které se standardně řeší použitím funkce indirect, jsou běžně uváděné příklady vkládání buněk mezi třeba součet a sčítané hodnoty v případech, že suma sousetí s polem sčítaných hodnot. Zase, lze použít funkci indirect, např, formule

=SUM(INDIRECT("R1C";0):INDIRECT("R[-1]C";0))

sečte všechny hodnoty ve sloupci nad buňkou se vzorcem a je nezávislá na vkládání, přesunech, kopírování a mazání buněk.

Editoval lp. (6. 10. 2010 12:37:05)

Offline

#12 6. 10. 2010 13:48:03

ZdenekC
Člen
Registrace: 6. 10. 2010
Příspěvků: 50

Re: nežádoucí změna vzorce při vložení buněk

Dík, zkusím indirect.
V mém případě naopak změna vzorce znamená rozbití výpočtů.
Příklad:
Mám jednoduchý adresář v Calcu na jednom listu. Když ho chci vytisknout, aby vypadal tak jako prodávaný, oboustraný, sešitý uprostřed, musím vytvořit jiný sešit s odkazy na první.
V okamžiku, kdy bych první adresář potřeboval doplnit jedním novým záznamem, pak se mi celý "tiskový" zcela rozjede. A to by byla katastrofa. Toto chování calcu proto považuji za nešťastné.

Offline

#13 6. 10. 2010 14:19:28

ZdenekC
Člen
Registrace: 6. 10. 2010
Příspěvků: 50

Re: nežádoucí změna vzorce při vložení buněk

Zkusil jsem indirect. V jednoduchém případě fungoval.
např. = INDIRECT("A2")

Všechny odkazy ve všech buňkách v mém sešitu pro tisk však obsahují funkce. V tomto případě mi calc hlásil, že jde o chybu 502.
Buď dělám nějakou chybu, nebo zdánlivě jednoduché vytvoření, doplňování a vytištění adresáře je v calcu velice složité.

Offline

#14 6. 10. 2010 14:47:30

ZdenekC
Člen
Registrace: 6. 10. 2010
Příspěvků: 50

Re: nežádoucí změna vzorce při vložení buněk

Už jsem přišel na správnou syntaxi pomocí indirectu, ale vše je dost komplikované.
Jestli neexistuje elegantnější řešení, tak začínám mít pocit, že je jednoduší kupovat prázdný adresář a každoročně ho ručně přepsat.

Offline

#15 6. 10. 2010 16:49:53

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

Re: nežádoucí změna vzorce při vložení buněk

Pokud potřebujete přeskládávat bloky dat... použijte kombinaci předchozího:

=OFFSET(INDIRECT("A1");0;0;12;5)

Pokud toto uložíte jako matici Ctrl-Shift-Enter, zkopíruje se Vám blok od buňky A1, 12 řádků, 5 sloupců a bude se kopírovat bez ohledu na nějaké vkládání nebo mazání zdrojových buněk. Tak si můžete stránky poskládat podle potřeby prostou úpravou parametrů funkce posun.

Offline

#16 6. 10. 2010 17:11:27

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

Re: nežádoucí změna vzorce při vložení buněk

ZdenekC napsal(a)

Už jsem přišel na správnou syntaxi pomocí indirectu, ale vše je dost komplikované.
Jestli neexistuje elegantnější řešení, tak začínám mít pocit, že je jednoduší kupovat prázdný adresář a každoročně ho ručně přepsat.

Předpokládám, že se pokoušíte přenášet data pomocí A1 notace, tj.

C1: =INDIRECT("A1")
C2: =INDIRECT("A2")
...

a vypisujete každý vzorec samostatně.

Lepší je použít RC notaci:

C1: =INDIRECT("RC1";0)
C2: =INDIRECT("RC1";0)
...
nebo
C1: =INDIRECT("RC[-2]";0)
C2: =INDIRECT("RC[-2]";0)
...

Všimněte si, že vzorce jsou stejné => lze je kopírovat.

Pokud náhodou opravdu je nezbytné vyplnit větší oblast pomocí A1 notace, je tu drobné zrychlení:

Vyplní se cílová oblast adresou zdroje:
C1: A1
C2: A2
C3: A3

(snadné, tažením se čísla řádků inkrementují automaticky)

Vyberou se cílové buňky, najít a nahradit (ctrl-F).

Do pole hledat zapište "(.+)"   - bez uvozovek, pozor ta tečka není moc vidět
Do pole nahradit zapište "=indirect("$1")" - bez vnějších uvozovek

Klepnout více voleb a zaškrtnout "Současný výběr", "Regulární výrazy" a vybrat Hledat v "vzorce"

Klepnout nahradit vše. A je hotovo, vzorce jsou vyplněny.


Nebo se pokuste poohlédnout po nějakém doplňku, který tisk provede automaticky.

Editoval lp. (6. 10. 2010 17:12:21)

Offline

#17 6. 10. 2010 17:42:33

ZdenekC
Člen
Registrace: 6. 10. 2010
Příspěvků: 50

Re: nežádoucí změna vzorce při vložení buněk

Dík, zkusím to zítra.

Vzorce se mi zdají komplikované proto, že:
1. do odkazů musím vložit podmiňovací funkce, abych místo prázdných buněk neměl nuly.
2. výsledek potřebuji tisknout oboustranně jako uprostřed sešitý sešit, t.j. na jednom listu nenásledují strany po sobě, protože při sešití jsou např. na prvním vytištěném listu před sešitím vlevo poslední strana, avšak vpravo první strana, na opačné straně téhož listu vlevo druhá ale vpravo předposlední strana, atd.

Potud se dá ještě pomáhat kopírováním bloků a vzorců.
Až by toto bylo hotové, pak bych musel do každé buňky, do podmiňovacích funkcí doplňovat několikrát funkci indirect se správnou syntaxí. A teď momentálně nevím, jak by se to mohlo usnadnit místo ruční práce v každé buňce.

Offline

#18 6. 10. 2010 18:31:14

j-pastierik
Člen
Registrace: 15. 11. 2004
Příspěvků: 761

Re: nežádoucí změna vzorce při vložení buněk

Pre takúto tlač odporúčam export do PDF a odtiaľ potom tlač ako brožúrky - Adobe Reader to napr. umožňuje a nemusíte sa o to starať v Calcu. Tlač vo Writeri to podporuje priamo, škoda, že to nie je aj tu.

Offline

#19 6. 10. 2010 18:33:25

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

Re: nežádoucí změna vzorce při vložení buněk

No nevím. Funkce offset místo prázdné buňky žádné nuly nedoplňuje. Pokud si vyladíte blok jednoho listu, s tím, že někde stranou, např pod dolní nebo nad horní roh stránky zleva nebo zprava zapíšete číslo stránky - třeba i vzorcem, můžete tyto čtyřstránkové bloky snadno kopírovat, žádný if potřeba není, vedlejším efektem mohou být očíslované strany sešitu.

příklad (jedna strana) (ctrl-shift-enter), doplnit odkazy nebo konstanty:

=OFFSET(INDIRECT("A1");(<číslo stránky> - 1)*<dálka stránky>;0;<délka stránky>;<počet sloupců na stránce>)

(předpokládám, že ve sloupcích a:něco je souvislý seznam s obsahem dokumentu)

Mimochodem, dříve popsaným postupem lze doplnit i if:

Hledat: "=(.+)"
Nahradit: "=IF(($1)<>0;$1;"")"

Dalšími možnostmi jsou: vypnutí zobrazování nul při tisku, nebo použití formátu typu 0;-0;;@

Editoval lp. (6. 10. 2010 18:34:17)

Offline

#20 7. 10. 2010 07:19:14

ZdenekC
Člen
Registrace: 6. 10. 2010
Příspěvků: 50

Re: nežádoucí změna vzorce při vložení buněk

Oběma Vám velice děkuji za odpovědi.
Spoustu rad využiji v budoucnu.
Současný problém jsem vyřešil exportem přes pdf. Je to naprosto geniální.
Opravdu škoda, že tato možnost tisku není přímo v calcu.
Ještě jednou díky.

Offline

#21 7. 10. 2010 11:01:53

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

Re: nežádoucí změna vzorce při vložení buněk

ZdenekC napsal(a)

Opravdu škoda, že tato možnost tisku není přímo v calcu.

Mrkněte sa na možnosti nastavení tiskárny. Řada současných tiskáren (lépe ovladačů) tisk do brožury zvládá přímo. Třeba to umí i Vaše tiskárna.

Offline

#22 7. 10. 2010 15:40:09

ZdenekC
Člen
Registrace: 6. 10. 2010
Příspěvků: 50

Re: nežádoucí změna vzorce při vložení buněk

Dík.
Moje stará tiskárna to neumí.
Jak pořídím novou, tak se podívám.

Offline

#23 7. 10. 2010 18:46:26

Ondra.kl
Člen
Registrace: 30. 9. 2008
Příspěvků: 933

Re: nežádoucí změna vzorce při vložení buněk

ZdenekC napsal(a)

Jak pořídím novou, tak se podívám.

To je lepší prostudovat manuál předem wink

Offline

Zápatí