OpenOffice.org Calc pod drobnohľadom (6) - Funkcie zošitu

09.11.2007 22:00 | Články | Július Pastierik
V doterajších dieloch sme si naznačili niektoré funkcie pre nepriame adresovanie buniek. Tieto sú len časťou funkcií zošitu, ktoré si teraz predstavíme trochu bližšie.

Na začiatok si pripomeňme funkcie, ktoré sme si zo skupiny funkcií zošitu už spomenuli. Ide o funkciu ADDRESS, ktorá vracia adresu bunky v textovom tvare; funkciu INDIRECT, ktorá vracia hodnotu bunky, ktorej adresu zadávame v parametri ako textový reťazec a funkcie LOOKUP, HLOOKUP a VLLOKUP, ktoré vyhľadávajú údaje v oblasti údajov.

Na tomto mieste si nebudeme predstavovať všetky zvyšné funkcie zošitu (napokon, načo je nápoveda a dokumentácia), ale zameriame sa na tie, ktoré nie sú až také bežné a na ktoré sa používatelia často pýtajú.

Vkladanie údajov z iných tabuliek

Do zošitu môžeme vkladať údaje z iných tabuliek v podstate dvomi spôsobmi. Ako prvý spôsob je použitie URL (Uniform Resource Locator) adresy, takže v tomto prípade nemusíme mať zdrojovú tabuľku vôbec na svojom počítači. Výhodou tohto riešenia je tiež multiplatformovosť, t.j. tabuľku vytvorenú povedzme v operačnom systéme Windows môžeme priamo použiť aj v operačnom systéme Linux (ak je cesta zdrojovej tabuľky zhodná – napr. pri jej uložení na FTP serveri).

V prípade, že máme na jednom počítači dva rôzne operačné systémy, nie je prenositeľnosť tabuliek zaistená na 100% z toho dôvodu, lebo hoci môžeme navzájom vidieť súbory z iných operačných systémov, ich spôsob adresovania môže byť rôzny. Napr. súbor, ktorý v operačnom systéme Windows máme uložený v adresári „C:\Moje dokumenty\Udaje.ods“ uvidíme v operačnom systéme Linux napr. ako „/mnt/win_c/Moje dokumenty/Udaje.ods“.

Vlastné vkladanie odkazu na bunku z inej tabuľky pomocou URL adresy zadávame nasledovným spôsobom:

'URL adresa zdrojovej tabuľky'#adresa bunky v liste

Napríklad: ='file:///mnt/win_c/Moje dokumenty/Udaje.ods'#$List1.A2 (v operačnom systéme Windows by sme tento odkaz museli zadať takto: ='file:///C:/Moje dokumenty/Udaje.ods'#$List1.A2).


Údaj z inej tabuľky vložený pomocou URL adresy

DDE

Druhý spôsob, pomocou ktorého môžeme vkladať odkazy z iných tabuliek, je DDE (Dynamic Data Exchange) prepojenie. Jej obecný tvar je nasledovný:

DDE(server; súbor; oblasť; režim)

Parameter „server“ odkazuje na názov serverovej aplikácie a pre OpenOffice.org je to „soffice“. Na tomto mieste upozorňujem na veľkosť písmen, pretože tento názov musí byť zadaný presne. Toto však neplatí napr. v operačnom systéme Windows, kde na veľkosti písmen nezáleží.

Použitie tejto funkcie nie je možné pri medziplatformových odkazoch, pretože adresa súboru sa nezadáva vo formáte URL, ale priamo vo vnútornom formáte príslušného operačného systému, pričom musí obsahovať celú cestu.

Tretí parameter „oblasť“ obsahuje definíciu buniek v zdrojovom súbore, ktoré spájame s našim súborom. Posledný – štvrtý parameter „režim“ je voliteľný (štandardní hodnota je nula) a môžeme pomocou neho riadiť spôsob prenosu:
0 – zachováva sa formát čísla, ako je zadaný v zdrojovom súbore.
1 – údaje budú interpretované v štandardnom formáte nášho súboru.
2 – údaje nebudú prevedené ako čísla, ale ako text.

Bunku, ktorú sme v predchádzajúcom príklade vkladali pomocou URL odkazu 'file:///mnt/win_c/Moje dokumenty/Udaje.ods'#$List1.A2, vložíme pomocou funkcie DDE nasledovne:

=DDE(„soffice“; “/mnt/win_c/Moje dokumenty/Udaje.ods“; “List1.A2“)


Údaj z inej tabuľky vložený pomocou DDE prepojenia

Na tomto mieste musím upozorniť na jednu nepríjemnú vlastnosť DDE prepojenia – na rozdiel od URL odkazu neprenáša správne všetky znaky s diakritikou. Jeho výhodou je však to, že priamo pomocou kopírovania (Ctrl+C, Ctrl+Shift+V) môžeme vložiť DDE odkaz namiesto obyčajného skopírovania obsahu. Na druhej strane sa pri kopírovaní nemenia (na rozdiel od URL adresácie) údaje v odkazovanej bunke, pretože táto je zadaná ako text v úvodzovkách.


Údaje v zdrojovej tabuľke

Pri tomto vkladaní postupujeme tak, že najprv označíme oblasť buniek v zdrojovom súbore, skopírujeme ich do systémovej schránky (menu „Upraviť – Kopírovať“ – klávesová skratka „Ctrl+C“), prepneme sa do cieľového súbora a pri špeciálnom vkladaní (menu „Upraviť – Vložiť inak…“ – klávesová skratka „Ctrl+Shift+V“) zaškrtneme políčko „Odkaz“.


Nastavenie vloženia DDE odkazov

Zdrojové údaje sa automaticky vložia ako matica údajov vo formáte DDE odkazov. Pozor, po takomto vložení nie je možné opravovať jednotlivé časti vloženej matice, ale ju musíme celú označiť a opravy potvrdzovať kombináciou Ctrl+Shift+Enter. O maticových funkciách si budeme hovoriť trochu viac v niektorých z budúcich pokračovaní tohto seriálu.


Vložená matica pomocou DDE prepojenia

INFO

Pomocou funkcie INFO dokážeme zistiť informácie o aktuálnom pracovnom prostredí. Ako parameter jej môžeme zadať jeden z nasledujúcich piatich textových reťazcov:

INFO("osversion") – funkcia vracia z dôvodu kompatibility vždy text „Windows (32-bit) NT 5.01“
INFO("system") – funkcia vracia typ operačného systému („WNT“, „LINUX“…)
INFO("release") – funkcia vracia aktuálnu verziu OpenOffice.org (napr. „680m5(Build:9221)“)
INFO("numfile") – funkcia vracia z dôvodu kompatibility vždy hodnotu 1
INFO("recalc") – funkcia vracia režim prepočtu vzorcov. Tento text je jazykovo lokalizovaný („Automaticky“, „Ručne“).


Informácie o pracovnom prostredí

Pomocou tejto funkcie môžeme vyriešiť niektoré problémy, ktoré sme spomínali pri vkladaní údajov z externých súborov. Napríklad ak máme na počítači naraz operačný systém Windows a LINUX (či iný podobný, ktorý má rovnaký spôsob adresácie), pomocou funkcie:

=INDIRECT(IF(INFO("system")="WNT";"'file:///C:/Moje dokumenty/Udaje.ods'#$List1.C3";"'file:///mnt/win_c/Moje dokumenty/Udaje.ods'#$list1.c3"))


Zobrazené údaje v OS Linux

dokážeme vložiť obsah bunky zo zdrojového súboru bez ohľadu na to, v ktorom prostredí otvoríme cieľovú tabuľku.


Zobrazené údaje v OS Windows

STYLE

Ako poslednú funkciu, ktorú si predstavíme z funkcií zošitu bude funkcia STYLE. Táto umožňuje meniť štýl bunky a vždy vracia ako výsledok hodnotu 0, takže sa môže použiť aj vo vzorcoch bez toho, aby sa zmenil výsledok:

STYLE(štýl; čas, druhý štýl)

Parameter štýl určuje, aký štýl sa použije na aktuálnu bunku. Pokiaľ zadáme nepovinný parameter čas (v sekundách), prvý štýl bude platiť iba počas tohto času od otvorenia súboru a potom sa zmení štýl bunky na druhý zadaný štýl. Názvy štýlov sa zadávajú v úvodzovkách a, pravdaže, musíme ich mať zadefinované.


Zoznam štýlov buniek

Napríklad pomocou nasledujúcej funkcie po 10 sekundách od jej zadania alebo otvorenia súboru zmeníme formát zadaného textu „Text“. Pretože funkcia STYLE vracia výsledok, musíme ju s textom spojiť (funkcia CONCATENATE) a následne z výsledku ponechať iba nami požadovaný text (funkcia RIGHT):

=RIGHT(CONCATENATE(STYLE("Neviditelny";10;"Viditelny");"Text");4)


Aplikovaný štýl „Neviditelny“ počas desať sekúnd


Aplikovaný štýl „Viditelny“ po uplynutí desiatich sekúnd

Pomocou tejto funkcie môžeme robiť aj podmienené formátovanie bunky tým, že štýl budeme zadávať napr. ako výsledok funkcie IF. V takomto prípade väčšinou potrebujeme testovať priamo obsah bunky, ktorú chceme podmienene formátovať. Na toto nám môže poslúžiť funkcia CURRENT(), ktorá vracia obsah aktuálnej bunky:

=5*A6+STYLE(IF(CURRENT()>20;"Nadpis";"Nadpis1"))


Podmienené formátovanie pomocou funkcií IF a STYLE

Nabudúce: Tabuľka ako zdroj dát pre databázový modul Base.

Stránky OpenOffice.org: www.openoffice.sk

    • vyhladavanie / triedenie 12.11.2007 | 15:59
      srnec   Návštevník
      Prajem pekny den, da sa nejakou funkciu spravit button/check_box ktory aktivuje filter? Venoval som tomu dost casu ale nepodarilo sa mi nic najst.