Obsah

# Funkce sešitu

V této sekci budou uvedeny popisy funkcí Sešitu spolu s příklady.

Pro přístup k tomuto příkazu...

Vložit - Funkce - Kategorie Sešit

## ERROR.TYPE

Vrátí číslo představující určitý typ chyby, nebo chybovou hodnotu #N/A, pokud se o chybu nejedná.

## STYLE

Použije styl na buňku obsahující vzorec.

## ADDRESS

Vrátí adresu buňky (souřadnici) v textovém tvaru na základě zadaných čísel řádku a sloupce. Můžete určit, zda bude adresa interpretována jako absolutní (například $A$1) nebo jako relativní (A1) či ve smíšeném tvaru (A$1 nebo $A1). Můžete také zadat název pracovního listu.

Z důvodů interoperability podporují funkce ADDRESS a INDIRECT volitelný parametr, který určuje, zda se má použít notace R1C1 namísto obvyklé A1.

U funkce ADDRESS se parametr zapíše jako čtvrtý parametr a volitelný název listu se posune na páté místo.

U funkce INDIRECT se parametr zapíše jako druhý parametr.

U obou funkcí platí, že pokud má parametr hodnotu 0, použije se notace R1C1. Pokud není parametr uveden nebo má hodnotu jinou než 0, použije se notace A1.

Při použití notace R1C1 vrací ADDRESS řetězec, ve které je k oddělení názvu listu použit vykřičník, a INDIRECT očekává vykřičník jako oddělovač názvu listu. Při použití notace A1 obě funkce používají k oddělení názvu listu tečku.

Při otevírání dokumentů ve formátu ODF 1.0/1.1 se u funkce ADDRESS, která má jako čtvrtý parametr název listu, posune název listu na páté místo a na čtvrté místo vloží nový parametr s hodnotou 1.

Při ukládání do formátu ODF 1.0/1.1 a pokud má funkce ADDRESS čtvrtý parametr, se tento parametr odstraní.

Pokud jste použil u funkce ADDRESS nový čtvrtý parametr s hodnotou 0, neukládejte sešit ve starém formátu ODF 1.0/1.1.

Funkce INDIRECT se do formátu ODF 1.0/1.1 uloží bez konverze. Pokud bude přítomen druhý parametr, starší verze Calcu ohlásí u této funkce chybu.

#### Syntaxe

ADDRESS(Řádek; Sloupec [; Abs [; A1 [; "List"]]])

Řádek představuje číslo řádku pro souřadnici buňky

Sloupec představuje číslo sloupce pro souřadnici buňky (číslo, nikoli písmeno)

Abs určuje typ souřadnice:

1: absolutní adresa ($A$1)

2: absolutní adresa souřadnice řádku, relativní adresa souřadnice sloupce (A$1),

3: relativní adresa souřadnice řádku, absolutní adresa souřadnice sloupce ($A1),

4: relativní adresa (A1).

A1 (volitelný) - pokud je nastaveno na 0, je použita notace R1C1. Pokud tento parametr chybí nebo je nastaven na jinou hodnotu než 0, je použita notace A1.

List představuje název listu. Musí být umístěn v uvozovkách.

### Příklad:

=ADDRESS(1;1;2;;"List2") vrátí: List2.A$1

Je-li výše uvedený vzorec v buňce B2 aktuálního listu a buňka A1 na listu 2 obsahuje hodnotu -6, můžete odkazovat nepřímo na adresu buňky použitím funkce v B2 =ABS(INDIRECT(B2)). Výsledkem je absolutní hodnota adresy buňky specifikované v B2, která je v tomto případě 6.

## AREAS

Vrátí počet jednotlivých oblastí buněk, které jsou součástí propojené oblasti. Oblastí se rozumí souvislá oblast buněk nebo jediná buňka.

Funkce očekává jediný parametr. Pokud zadáte více oblastí, musíte je uzavřít do dodatečných závorek. Více oblastí lze zadat s využitím středníku (;) jako oddělovače. Ten je automaticky převeden na vlnovku (~), která se používá ke spojování oblastí.

#### Syntaxe

AREAS(Odkaz)

Odkaz představuje souřadnice buněk nebo oblasti buněk.

#### Příklad

=AREAS((A1:B3;F2;G1)) vrátí 3, protože jde o odkaz na tři buňky a/nebo oblasti. Po potvrzení zadání je vzorec převeden na =AREAS((A1:B3~F2~G1)).

=AREAS(Vše) vrátí 1, pokud jste za pomoci dialogu Data - Definovat oblast definovali oblast Vše.

## CHOOSE

Použije index pro vrácení hodnoty ze seznamu až 30 hodnot.

#### Syntaxe

CHOOSE(Index; Hodnota1 [; Hodnota 2 [; ... [; Hodnota 30]]])

Index je odkaz nebo číslo mezi 1 a 30 udávající, která hodnota se vezme ze seznamu.

Hodnota 1, Hodnota 2, ..., Hodnota 30 je seznam hodnot, který je zadán jako odkaz nebo jako jednotlivé hodnoty.

#### Příklad

Například =CHOOSE(A1;B1;B2;B3;"Dnes";"Včera";"Zítra"), vrátí pro A1 = 2 obsah buňky B2; pro A1 = 4 funkce vrátí text "Dnes".

## COLUMN

Vrátí číslo sloupce odkazu na buňku. Odkazuje-li odkaz na buňku, je vráceno číslo sloupce odpovídající buňky. Je-li odkazováno na matici, jsou vráceny odpovídající čísla sloupců v jednořádkové matici pokud byl vzorec zadán jako maticový vzorec. Není-li funkce COLUMN odkazující se na matici použita jako maticový vzorec, potom je vráceno pouze číslo sloupce první buňky z matice.

#### Syntaxe

COLUMN([Odkaz])

Odkaz je odkaz na buňku nebo oblast pro kterou má být určeno číslo jejího prvního sloupce.

Není-li parametr odkaz zadán, potom je vráceno číslo sloupce buňky, ve které je samotná funkce zadána. LibreOffice Calc automaticky nastaví odkaz na aktuální buňku.

#### Příklad

=COLUMN(A1) se rovná 1. Sloupec A je prvním sloupcem tabulky.

=COLUMN(C3:E3) se rovná 3. Sloupec C je třetím sloupcem tabulky.

=COLUMN(D3:G10) vrátí 4, protože sloupec D je čtvrtým sloupcem tabulky a funkce COLUMN není použita jako maticová funkce. (V tomto případě je jako výsledek vždy použita první hodnota matice.)

{=COLUMN(B2:B7)} a =COLUMN(B2:B7) obě vrátí 2, protože odkaz obsahuje pouze sloupec B, který je druhým sloupcem tabulky. Protože jednosloupcové oblasti mají jen jeden sloupec, nezáleží na tom, zda je funkce použita jako maticová funkce.

=COLUMN() vrátí 3, pokud byla funkce zadána ve sloupci C.

{=COLUMN(Rabbit)} vrátí jednořádkovou matici (3, 4), pokud je "Rabbit" pojmenovaná oblast (C1:D3).

## COLUMNS

Vrátí počet sloupců v zadané oblasti.

#### Syntaxe

COLUMNS(oblast)

Oblast je odkaz na oblast buněk, pro kterou má být určen počet sloupců. Odkaz může odkazovat i na samostatnou buňku.

#### Příklad

=COLUMNS(B5) vrátí 1, protože buňka obsahuje jen jeden sloupec.

=COLUMNS(A1:C5) se rovná 3. Odkaz je složen ze tří sloupců.

=COLUMNS(Rabbit) vrátí 2, pokud je Rabbit pojmenovaná oblast (C1:D3).

## DDE

Vrátí výsledek DDE propojení. Pokud se obsah propojené oblasti nebo oddílu změní, bude změněna i hodnota vrácená touto funkcí. Aby se změny projevily, je nutné buď sešit znovu otevřít, nebo zvolit Úpravy - Odkazy. Není možné použít meziplatformní odkazy, například z instalace LibreOffice na počítači se systémem Windows do dokumentu vytvořeného na linuxovém stroji.

#### Syntaxe

DDE("Server"; "Soubor"; "Oblast" [; Režim])

Server je název aplikace serveru. Aplikace LibreOffice používají pro server název "soffice".

soubor je název souboru včetně cesty.

oblast určuje oblast obsahující data, která mají být vyhodnocena.

režim je nepovinný parametr, který určuje metodu, kterou DDE server použije k převodu dat na čísla.

Režim | Význam
--- | ---
0 nebo nezadáno | Formát čísla podle výchozího formátu zadaného ve stylu buňky.
1 | Data budou interpretována ve výchozích formátech pro češtinu.
2 | Data nebudou převedena na čísla, ale vložena jako text.

#### Příklad

=DDE("soffice";"c:\office\document\data1.ods";"list1.A1") načte obsah buňky A1 na listu sheet1 sešitu LibreOffice data1.ods.

=DDE("soffice";"c:\office\document\moto.odt";"Dnešní moto") zobrazí v buňce obsahující tento vzorec dané moto. V odkazovaném textovém dokumentu musíte do jednoho řádku zadat text požadovaného mota a tento řádek nastavit jako první řádek sekce s názvem Dnešní moto (v LibreOffice Writeru pod Vložit - Sekce). Pokud moto v textovém dokumentu upravíte (a uložíte), změny se projeví ve všech buňkách LibreOffice Calc, ve kterých máte nastaven příslušný odkaz DDE.

## ERRORTYPE

Vrátí číslo odpovídající chybové hodnotě v jiné buňce. Pomocí tohoto čísla je možné vygenerovat text chybové zprávy.

Pokud nastane chyba, funkce vrací logickou nebo číselnou hodnotu.

Jestliže klepnete na buňku obsahující chybu, stavová řádka zobrazuje předdefinovaný chybový kód LibreOffice.

#### Syntaxe

ERRORTYPE(Odkaz)

Odkaz obsahuje adresu buňky, ve které došlo k chybě.

#### Příklad

Pokud se v buňce A1 zobrazuje Chyba:518, funkce =ERRORTYPE(A1) vrátí číslo 518.

#### Technické informace

Tato funkce není součástí standardu Open Document Format for Office Applications (OpenDocument) Version 1.3. Part 4: Recalculated Formula (OpenFormula) Format. Její jmenný prostor je

ORG.OPENOFFICE.ERRORTYPE

## GETPIVOTDATA

Funkce GETPIVOTDATA vrací výslednou hodnotu z kontingenční tabulky. Hodnota je odkazována pomocí názvu pole a položek, takže zůstane platná, i když se změní rozvržení kontingenční tabulky.

#### Syntaxe

Lze použít dvě různé syntaxe:

GETPIVOTDATA(CílovéPole; kontingenční tabulka [; Pole 1; Položka 1][; ... [Pole 126; Položka 126]])

nebo

GETPIVOTDATA(kontingenční tabulka; Omezení)

Druhá syntaxe se použije, pokud jsou zadány přesně dva parametry, z nichž první je buňka nebo oblast buněk. V ostatních případech se použije první syntaxe. Průvodce funkcí nabídne první syntaxi.

### První syntaxe

CílovéPole je řetězec, pomocí kterého se vybere jedno z datových polí kontingenční tabulky. Řetězec může být názvem zdrojového sloupce nebo názvem datového pole, který se zobrazuje v tabulce (například "Součet - tržby").

Kontingenční tabulka je odkaz na buňku nebo oblast buněk, která se nachází v kontingenční tabulce nebo kontingenční tabulku obsahuje. Pokud oblast buněk obsahuje několik kontingenčních tabulek, použije se naposledy vytvořená tabulka.

Pokud nejsou zadány dvojice Pole n / Položka n, vrátí funkce celkový součet. Jinak každá dvojice přidá omezující podmínku, kterou musí výsledek splnit. Pole n je název pole z kontingenční tabulky. Položka n je název položky z tohoto pole.

Pokud kontingenční tabulka obsahuje pouze jedinou výslednou hodnotu, která splňuje všechny podmínky, nebo mezisoučet, který sečte všechny odpovídající hodnoty, vrátí se výsledek. Pokud není nalezen žádný odpovídající výsledek nebo je výsledků několik, vrátí se chyba. Podmínky se aplikují na výsledky, které jsou obsaženy v kontingenční tabulce.

Pokud zdrojová data obsahují záznamy, které jsou nastavením kontingenční tabulky skryty, ignorují se. Na pořadí dvojic pole/položka nezáleží. U názvů polí a položek nezáleží na velikosti znaků.

Pokud není určena omezující podmínka pro filtr, zvolí se aktuálně použitá hodnota pole. Pokud je použita omezující podmínka, musí se shodovat s aktuální hodnotou pole, jinak je vrácena chyba. Filtry jsou pole v levé horní části kontingenční tabulky, přidaná přesunutím do oblasti „Filtry“ v dialogovém okně rozvržení kontingenční tabulky. Z každého filtru lze vybrat položku (hodnotu), což znamená, že se do výpočtu zahrne jen tato položka.

Hodnoty mezisoučtu z kontingenční tabulky se použijí, pouze pokud používají funkci "auto" (kromě případu, kdy jsou určeny v omezujících podmínkách, viz Druhá syntaxe níže).

### Druhá syntaxe

Kontingenční tabulka má stejný význam jako v první syntaxi.

Omezení je mezerami oddělený seznam. Položky mohou být uzavřeny v jednoduchých uvozovkách. Celý řetězec musí být uzavřen v dvojitých uvozovkách, pokud na řetězec neodkazujete do jiné buňky.

Jedna z položek může být název datového pole. Název datového pole lze vynechat, pokud kontingenční tabulka obsahuje jen jedno datové pole, jinak musí být přítomen.

Ostatní položky určují omezující podmínky v podobě Pole[Položka] (s hranatými závorkami [ a ]), nebo jen Položka, pokud je název položky jedinečný v rámci všech polí použitých v kontingenční tabulce.

Jméno funkce může být přidáno ve formě Pole[Položka;Funkce]. Takto stanovenému omezení budou vyhovovat pouze dílčí výsledky vypočtené zadanou funkcí. Možné názvy funkcí jsou Sum, Count, Average, Max, Min, Product, Count (pouze čísla), StDev (výběr), StDevP (základní soubor), Var (výběr), a VarP (základní soubor), nezáleží u nich na velikosti písmen.

## HLOOKUP

Hledá hodnotu a odkáže na buňky vybrané oblasti. Tato funkce ověřuje, zda první řádek oblasti obsahuje určitou hodnotu. Funkce potom vrátí hodnotu ze stejného sloupce, ale z řádku určeného v parametru Index.

Vyhledávání podporuje zástupné znaky nebo regulární výrazy. Zadáte-li například "all.*", najdete první výskyt "all" následovaný jakýmikoliv znaky. Chcete-li hledat text, který je rovněž regulárním výrazem, musíte před každý regulární výraz napsat metaznak nebo operátor se znakem "\" nebo text uzavřít mezi \Q...\E. Vypnout a zapnout automatické vyhodnocování regulárních výrazů můžete v LibreOffice - PředvolbyNástroje - Možnosti - LibreOffice Calc - Výpočty.

Pokud použijete funkci, jejíž jeden nebo více argumentů představují řetězce s kritérii vyhledávání, nejprve dojde k pokusu převést tyto řetězce na číslo, například ".0" se převede na 0 a podobně. V případě úspěšného převodu se nebude vyhledávat regulární výraz, ale číslo. Pokud však používáte národní prostředí s jiným oddělovačem desetinných míst, než je tečka, regulární výraz bude fungovat. Chcete-li regulární výraz vždy vynutit místo číselného výrazu, použijte výraz, který nelze interpretovat jako číslo, například ".[0]", ".\0" nebo "(?i).0".

#### Syntaxe

HLOOKUP(Vyhledávání; Matice; Index [; Vyhledávání v seřazené oblasti])

Vysvětlení parametrů naleznete u funkce VLOOKUP (v níž jsou oproti funkci HLOOKUP prohozeny sloupce a řádky)

Práce s prázdnými buňkami

#### Příklad

Předpokládejme, že jsme vytvořili malou databázovou tabulku zabírající oblast buněk A1:DO4 a obsahující základní informace o 118 chemických prvcích. V prvním sloupci se nachází záhlaví řádků „Prvek“, „Značka“, „Protonové číslo“ a „Relativní atomová hmotnost“. Následující sloupce obsahují příslušné informace pro všechny prvky, které jsou seřazeny zleva doprava podle atomového čísla. Například buňky B1:B4 obsahují „vodík“, „H“, „1“ a „1,008“, zatímco v buňkách DO1:DO4 se nachází „oganesson“, „Og“, „118“ a „294“.

| A | B | C | D | ... | DO
--- | --- | --- | --- | --- | --- | ---
1 | Prvek | vodík | helium | lithium | ... | oganesson
2 | Značka | H | He | Li | ... | Og
3 | Protonové číslo | 1 | 2 | 3 | ... | 118
4 | Relativní atomová hmotnost | 1.008 | 4.0026 | 6.94 | ... | 294

=HLOOKUP("olovo"; $A$1:$DO$4; 2; 0) vrátí „Pb“, značku olova.

=HLOOKUP("zlato"; $A$1:$DO$4; 3; 0) vrátí 79, protonové číslo zlata.

=HLOOKUP("uhlík"; $A$1:$DO$4; 4; 0) vrátí 12,011, relativní atomovou hmotnost uhlíku.

## HYPERLINK

Pokud klepnete na buňku, která obsahuje funkci HYPERLINK, otevře se hypertextový odkaz.

Jestliže použijete nepovinný parametr HodnotaBuňky, vzorec najde adresu URL a poté zobrazí zadaný text nebo číslo.

Buňku s hypertextovým odkazem otevřete pomocí klávesnice tak, že nejprve vyberete buňku, stisknete F2, abyste se dostali do režimu úprav, přesunete kurzor před hypertextový odkaz, stisknete Shift+F10 a potom vyberete Otevřít hypertextový odkaz.

#### Syntaxe

HYPERLINK("URL" [; "HodnotaBuňky"])

URL udává cíl odkazu. Nepovinný parametr HodnotaBuňky je text nebo číslo, které se zobrazí v buňce a vrátí se jako výsledek. Pokud není parametr HodnotaBuňky zadán, v buňce se zobrazí a jako výsledek se vrátí URL.

Pro prázdné buňky a prvky matice se vrátí číslo 0.

#### Příklad

=HYPERLINK("http://www.example.org") zobrazí v buňce text "http://www.example.org" a po klepnutí přejde na hypertextový odkaz http://www.example.org.

=HYPERLINK("http://www.example.org";"Klepněte sem") zobrazí v buňce text „Klepněte sem“ a po klepnutí přejde na hypertextový odkaz http://www.example.org.

=HYPERLINK("http://www.example.org";12345) zobrazí číslo 12345 a po klepnutí přejde na hypertextový odkaz http://www.example.org.

=HYPERLINK($B4), kde B4 obsahuje http://www.example.org. Funkce vloží http://www.example.org do URL buňky s hypertextovým odkazem a jako výsledek vzorce vrátí stejný text.

=HYPERLINK("http://www.";"Klepněte na ") & "example.org" zobrazí v buňce text Klepněte na example.org a po klepnutí přejde na hypertextový odkaz http://www.example.org.

=HYPERLINK("#List1.A1";"Zpět na začátek") zobrazí text Zpět na začátek a přejde v dokumentu na buňku List1.A1.

=HYPERLINK("file:///C:/writer.odt#Specifikace";"Přejít na záložku Writeru") zobrazí text „Přejít na záložku Writeru“, načte stanovený textový dokument a přejde v něm na záložku „Specifikace“.

=HYPERLINK("file:///C:/Dokumenty/";"Otevřít složku Dokumenty") zobrazí text „Otevřít složku Dokumenty“ a po klepnutí zobrazí obsah této složky ve standardním správci souborů operačního systému.

The function tries to bridge with system specificities. For example, "c:\path to\file.ext" will be properly interpreted as "file:///c:/path%20to/file.ext" on Windows, or ".." will lead to the parent directory of the document.

## INDEX

INDEX vrátí odkaz, hodnotu nebo matici hodnot z odkazované oblasti, která je určena čísly indexů pro řádek a sloupec nebo čísly indexů pro matici řádků a matici hodnot a volitelně indexem oblasti.

Pokud je argumentem jeden či více odkazů, vrátí funkce INDEX() odkaz. Je-li použita v buňce ve tvaru =INDEX(), odkaz se vyhodnotí a zobrazí se hodnoty. Je-li použita v argumentech jiných funkcí jako =FUNCTION(INDEX()...), do této jiné funkce se předá odkaz vrácený funkcí INDEX(). Vracení odkazu se liší od vracení matice hodnot u funkcí, které s nimi různě nakládají.

#### Syntaxe

INDEX(Odkaz [; [Řádek [; [Sloupec] [; Oblast]]])

Odkaz je odkaz zadaný buď přímo, nebo pomocí názvu oblasti. Pokud se odkaz skládá z více oblastí, je nutné seznam odkazů nebo názvů oblastí do závorek, případně použít vlnovku (~), operátor pro spojování oblastí nebo definovat pojmenovanou oblast složenou z více oblastí.

Řádek (nepovinné) představuje index řádku nebo matici indexů řádků pro odkazovanou oblast, pro kterou mají být vráceny hodnoty. Pokud je nastavena hodnota nula nebo je vynecháno (žádný určitý řádek), jsou vráceny všechny odkazované řádky.

Sloupec (nepovinné) představuje index sloupce nebo matici indexů sloupců pro odkazovanou oblast, pro kterou mají být vráceny hodnoty. Pokud je nastavena hodnota nula nebo je vynecháno (žádný určitý sloupec), jsou vráceny všechny odkazované sloupce.

Jsou-li argumenty Řádek, Sloupec nebo oba z nich vynechány nebo uvedeny jako matice indexů, funkci INDEX je nutné zadat jako maticovou funkci.

Oblast (nepovinné) určuje číslo podoblasti, pokud je odkazováno na vícenásobnou oblast. Výchozí hodnotou je 1.

#### Příklad

{=INDEX({1,3,5;7,9,10},{2;1},1)} vrátí dvouřádkovou matici obsahující hodnoty 7 a 1. Podle indexů řádku {2;1} se získá hodnota z řádku 2, poté z řádku 1. Podle indexu sloupce 1 se získají hodnoty z prvního sloupce.

{=INDEX(D3:G12,{1;2;3;4},{3,1})} vrátí matici o 4 řádcích a 2 sloupcích. Podle matice indexů řádků {1;2;3;4} se získají řádky 3 až 6 podle indexů {3;1} se získají třetí (F) a první (D) sloupec. Sloupce 1 a 3 ze zdrojového odkazu se ve výsledné matici prohodí.

=INDEX(Ceny;4;1) vrátí hodnotu z řádku 4 ve sloupci 1 z databázové oblasti s názvem Ceny, definované v dialogu Data - Definovat oblast.

=INDEX(SumX;4;1) vrátí hodnotu z řádku 4 ve sloupci 1 z oblasti s názvem SumX definované pomocí List - Pojmenované oblasti a výrazy.

{=INDEX(A1:B6;1)} vrátí hodnoty prvního řádku oblasti A1:B6. Vzorec zadejte jako maticový vzorec.

{=INDEX(A1:B6;0;1)} vrátí hodnoty prvního sloupce oblasti A1:B6. Vzorec zadejte jako maticový vzorec.

=INDEX(A1:B6;1;1) odkazuje na hodnotu v levém horním rohu oblasti A1:B6.

{=INDEX((A1:B6;C1:D6);0;0;2)} vrátí hodnoty z druhé oblasti C1:D6, která je součástí vícenásobné oblasti. Vzorec zadejte jako maticový vzorec.

Související témata

Wiki stránka INDEX.

## INDIRECT

Vrátí odkaz určený textovým řetězcem. Tuto funkci je také možné použít k získání oblasti odpovídajícího názvu.

Tato funkce se v případě, že je spuštěn přepočet, vždy přepočítá.

Z důvodů interoperability podporují funkce ADDRESS a INDIRECT volitelný parametr, který určuje, zda se má použít notace R1C1 namísto obvyklé A1.

U funkce ADDRESS se parametr zapíše jako čtvrtý parametr a volitelný název listu se posune na páté místo.

U funkce INDIRECT se parametr zapíše jako druhý parametr.

U obou funkcí platí, že pokud má parametr hodnotu 0, použije se notace R1C1. Pokud není parametr uveden nebo má hodnotu jinou než 0, použije se notace A1.

Při použití notace R1C1 vrací ADDRESS řetězec, ve které je k oddělení názvu listu použit vykřičník, a INDIRECT očekává vykřičník jako oddělovač názvu listu. Při použití notace A1 obě funkce používají k oddělení názvu listu tečku.

Při otevírání dokumentů ve formátu ODF 1.0/1.1 se u funkce ADDRESS, která má jako čtvrtý parametr název listu, posune název listu na páté místo a na čtvrté místo vloží nový parametr s hodnotou 1.

Při ukládání do formátu ODF 1.0/1.1 a pokud má funkce ADDRESS čtvrtý parametr, se tento parametr odstraní.

Pokud jste použil u funkce ADDRESS nový čtvrtý parametr s hodnotou 0, neukládejte sešit ve starém formátu ODF 1.0/1.1.

Funkce INDIRECT se do formátu ODF 1.0/1.1 uloží bez konverze. Pokud bude přítomen druhý parametr, starší verze Calcu ohlásí u této funkce chybu.

#### Syntaxe

INDIRECT(Odkaz [; A1])

Odkaz představuje odkaz na buňku nebo oblast (v textové podobě) pro kterou má být vrácen obsah.

A1 (volitelný) - pokud je nastaveno na 0, je použita notace R1C1. Pokud tento parametr chybí nebo je nastaven na jinou hodnotu než 0, je použita notace A1.

Otevřete-li sešit aplikace Microsoft Excel používající nepřímé adresy získávané pomocí řetězcových funkcí, potom tyto adresy nebudou automaticky přeloženy. Například adresa INDIRECT("[filename]sheetname!"&B1) nebude převedena na Calc adresu INDIRECT("filename#sheetname."&B1).

#### Příklad

=INDIRECT(A1) se rovná 100 pokud A1 obsahuje odkaz na C108 a buňka C108 obsahuje hodnotu 100.

=SUM(INDIRECT("a1:" & ADDRESS(1;3))) sečte obsah buněk v oblasti A1 až po buňku s adresou definovanou v řádku 1 a sloupci 3. To znamená, že sečtena bude oblast A1:C1.

Související témata

Wiki stránka INDIRECT.

## LOOKUP

Vrátí obsah buňky z jednosloupcové nebo jednořádkové oblasti. Volitelně, přiřazená hodnota (se stejným indexem) je vrácena v jiném sloupci a řádku. Na rozdíl od VLOOKUP and HLOOKUP, vyhledávací a výsledkový vektor mohou být na různých pozicích; nemusí být sousedící. Navíc musí být vyhledávací vektor pro LOOKUP vzestupně seřazen, jinak vyhledávání nevrátí použitelné výsledky.

Pokud LOOKUP nemůže najít kritérium vyhledávání, použije nejvyšší hodnotu prohlédaváného vektoru, která je menší nebo rovna kritériu vyhledávání.

Vyhledávání podporuje zástupné znaky nebo regulární výrazy. Zadáte-li například "all.*", najdete první výskyt "all" následovaný jakýmikoliv znaky. Chcete-li hledat text, který je rovněž regulárním výrazem, musíte před každý regulární výraz napsat metaznak nebo operátor se znakem "\" nebo text uzavřít mezi \Q...\E. Vypnout a zapnout automatické vyhodnocování regulárních výrazů můžete v LibreOffice - PředvolbyNástroje - Možnosti - LibreOffice Calc - Výpočty.

Pokud použijete funkci, jejíž jeden nebo více argumentů představují řetězce s kritérii vyhledávání, nejprve dojde k pokusu převést tyto řetězce na číslo, například ".0" se převede na 0 a podobně. V případě úspěšného převodu se nebude vyhledávat regulární výraz, ale číslo. Pokud však používáte národní prostředí s jiným oddělovačem desetinných míst, než je tečka, regulární výraz bude fungovat. Chcete-li regulární výraz vždy vynutit místo číselného výrazu, použijte výraz, který nelze interpretovat jako číslo, například ".[0]", ".\0" nebo "(?i).0".

#### Syntaxe

LOOKUP(Vyhledávání; VyhledávacíVektor [; VýsledkovýVektor])

Vyhledávání je vyhledávaná hodnota jakéhokoliv typu, zadaná přímo nebo jako odkaz.

VyhledávacíVektor je jednořádková nebo jednosloupcová oblast ve které má být hledáno.

VýsledkovýVektor je další jednořádková nebo jednosloupcová oblast, ze které má být načten výsledek funkce. Výsledkem je buňka výsledkového vektoru se stejným indexem jako buňka nalezená ve vyhledávacím vektoru.

Práce s prázdnými buňkami

#### Příklad

=LOOKUP(A1;D1:D100;F1:F100) v oblasti D1:D100 vyhledá číslo zadané do buňky A1. Po nalezení je určen index nálezu, například 12. buňka oblasti. Jako výsledek je pak vrácen obsah 12. buňky výsledkového vektoru.

## MATCH

Vrátí relativní polohu prvku v poli, který se shoduje se zadanou hodnotou. Funkce vrací číselnou pozici hodnoty nalezené v vyhledávací_pole.

#### Syntaxe

MATCH(Vyhledávání; VyhledávacíOblast [; Typ])

Vyhledávání je hodnota, která má být vyhledána v jednořádkové nebo jednosloupcové matici.

VyhledávacíOblast je prohledávaný odkaz. Vyhledávací oblast může být jeden řádek nebo sloupec, nebo část jednoho řádku nebo sloupce.

Typ může nabývat hodnot 1, 0, nebo -1. Pokud se Type = 1 nebo tento parametr není uveden, předpokládá se, že první sloupec prohledávané matice je vzestupně seřazen. Pokud se Type = -1, předpokládá se, že je sloupec seřazen v sestupném pořadí. Tato funkce odpovídá stejné funkci v programu Microsoft Excel.

Je-li Typ=0, jsou nalezeny jen přesně odpovídající si hodnoty. Je-li nalezeno kritérium hledání více než jednou, funkce vrátí index první odpovídající hodnoty. Pouze tehdy, pokud je Typ = 0, můžete použít i regulární výrazy nebo zástupné znaky (podle toho, jsou-li povoleny v možnostech výpočtu).

Pokud je Typ = 1 nebo třetí parametr chybí, vrátí se index poslední hodnoty, která je menší nebo rovna vyhledávacímu kritériu. Pro Typ = -1 se vrátí první hodnota, která větší nebo rovna.

Vyhledávání podporuje zástupné znaky nebo regulární výrazy. Zadáte-li například "all.*", najdete první výskyt "all" následovaný jakýmikoliv znaky. Chcete-li hledat text, který je rovněž regulárním výrazem, musíte před každý regulární výraz napsat metaznak nebo operátor se znakem "\" nebo text uzavřít mezi \Q...\E. Vypnout a zapnout automatické vyhodnocování regulárních výrazů můžete v LibreOffice - PředvolbyNástroje - Možnosti - LibreOffice Calc - Výpočty.

Pokud použijete funkci, jejíž jeden nebo více argumentů představují řetězce s kritérii vyhledávání, nejprve dojde k pokusu převést tyto řetězce na číslo, například ".0" se převede na 0 a podobně. V případě úspěšného převodu se nebude vyhledávat regulární výraz, ale číslo. Pokud však používáte národní prostředí s jiným oddělovačem desetinných míst, než je tečka, regulární výraz bude fungovat. Chcete-li regulární výraz vždy vynutit místo číselného výrazu, použijte výraz, který nelze interpretovat jako číslo, například ".[0]", ".\0" nebo "(?i).0".

#### Příklad

=MATCH(200;D1:D100) hledá v oblasti D1:D100, která je seřazana podle sloupce D, hodnotu 200. Jakmile je tato hodnota dosažena, je vráceno číslo řádku ve kterém byla nalezena. Pokud je během hledání ve sloupci nalezena vyšší hodnota, je vráceno číslo předchozího řádku.

## OFFSET

Vrátí hodnotu buňky posunuté od výchozího odkazu o určený počet řádků a sloupců.

Tato funkce se v případě, že je spuštěn přepočet, vždy přepočítá.

#### Syntaxe

OFFSET(Odkaz; Řádky; Sloupce [; Výška [; Šířka]])

Odkaz je odkaz od kterého funkce bude hledat nový odkaz.

Řádky je počet řádků, o který má být odkaz posunut nahoru (záporná hodnota) nebo dolů. Chcete-li zůstat na stejném řádku, použijte 0.

Sloupce je počet sloupců, o který má být odkaz posunut doleva (záporná hodnota) nebo doprava. Chcete-li zůstat ve stejném sloupci, použijte 0.

Výška (nepovinné) je svislá výška oblasti, která má počátek na pozici nového odkazu.

Šířka (nepovinné) je vodorovná šířka oblasti, která má počátek na pozici nového odkazu.

Argumenty Řádky a Sloupce nesmí vést k nulovému nebo zápornému počátečnímu řádku nebo sloupci.

Argumenty Výška a Šířka nesmí vést k nulovému nebo zápornému počtu řádků a sloupců.

Pokud jsou parametry funkcí LibreOffice Calc označeny jako „nepovinné“, je možné je vynechat, pokud za nimi nenásledují žádné další parametry. Např. pokud má funkce čtyři parametry a poslední dva jsou označeny jako „nepovinné“, je možné vynechat parametr 4 nebo parametry 3 a 4, ale není možné vynechat samotný parametr 3.

#### Příklad

=OFFSET(A1;2;2) vrátí hodnotu buňky C3 (A1 posunuto o dva řádky dolů a dva sloupce doprava). Pokud C3 obsahuje hodnotu 100, tato funkce vrátí hodnotu 100.

=OFFSET(B2:C3;1;1) vrátí odkaz na B2:C3 posunutý o jeden řádek dolů a jeden sloupec doprava (C3:D4).

=OFFSET(B2:C3;-1;-1) vrátí odkaz na B2:C3 posunutý o jeden řádek nahoru a jeden sloupec doleva (A1:B2).

=OFFSET(B2:C3;0;0;3;4) vrátí odkaz na B2:C3 s velikostí změněnou na 3 řádky a 4 sloupce (B2:E4).

=OFFSET(B2:C3;1;0;3;4) vrátí odkaz na B2:C3 posunutý o jeden řádek dolů a s velikostí změněnou na 3 řádky a 4 sloupce (B3:E5).

=SUM(OFFSET(A1;2;2;5;6)) spočítá součet oblasti s počátkem v buňce C3 a s výškou 5 řádek a šířkou 6 sloupců (oblast=C3:H7).

Pokud je uvedena Šířka nebo Výška, vrátí funkce OFFSET odkaz na oblast buněk. Odkazuje-li Odkaz na jedinou buňku a Šířka i Výška jsou vynechány, vrátí se odkaz na jedinou buňku.

## ROW

Vrátí číslo řádku odkazu na buňku. Jde-li o odkaz na buňku, je vráceno číslo řádku buňky. Jde-li o odkaz na oblast buněk, jsou vrácena čísla jednotlivých řádků v jednosloupcové matici, pokud bylo určeno, že jde o maticový vzorec. Je-li funkce ROW použita s odkazem na oblast, ale není určeno, že jde o maticový vzorec, potom je vráceno číslo prvního řádku oblasti.

#### Syntaxe

ROW([Odkaz])

Odkaz je buňka, oblast nebo název oblasti.

Nezadáte-li parametr odkaz, potom je vráceno číslo řádku buňky obsahující tuto funkci. LibreOffice Calc automaticky nastaví odkaz na aktuální buňku.

#### Příklad

=ROW(B3) vrátí 3, protože odkaz vede na třetí řádek tabulky.

{=ROW(D5:D8)} vrátí jednosloupcovou matici (5, 6, 7, 8), protože daný odkaz obsahuje řádky od 5 do 8.

=ROW(D5:D8) vrátí 5, protože funkce ROW nebyla použita jako maticový vzorec a vrací se pouze číslo prvního řádku odkazu.

{=ROW(A1:E1)} i =ROW(A1:E1) vrátí 1, protože odkaz obsahuje řádek 1 jako první řádek tabulky. (Protože jednořádkové oblasti obsahují pouze jediný řádek, nezáleží na tom, zda je použit maticový vzorec.

=ROW() vrátí 3, pokud byl vzorec zadán do řádku 3.

{=ROW(Rabbit)} vrátí jednosloupcovou matici (1, 2, 3), pokud je "Rabbit" pojmenovaná oblast (C1:D3).

## ROWS

Vrátí počet řádků odkazu nebo matice.

#### Syntaxe

ROWS(Matice)

Matice je odkaz nebo pojmenovaná oblast, pro kterou se má určit celkový počet řádků.

#### Příklad

=Rows(B5) vrátí 1, protože buňka obsahuje pouze jeden řádek.

=ROWS(A10:B12) vrátí 3.

=ROWS(Rabbit) vrátí 3, pokud je "Rabbit" pojmenovaná oblast (C1:D3).

## SHEET

Vrátí číslo listu pro zadaný odkaz nebo název listu jako řetězec. Nezadáte-li žádný z parametrů, funkce vrátí číslo toho listu sešitu, který obsahuje vzorec.

#### Syntaxe

SHEET([Odkaz])

Odkaz je nepovinný parametr a může jít o odkaz na buňku, oblast nebo název listu.

#### Příklad

=SHEET(List2.A1) vrátí 2, pokud je List2 druhým listem sešitu.

=SHEET("List3") vrátí 3, pokud je List3 třetím listem sešitu.

## SHEETS

Určí počet listů v odkazu. Nezadáte-li žádný z parametrů funkce, potom je vrácen počet listů aktuálního dokumentu.

#### Syntaxe

SHEETS([Odkaz])

Odkaz je odkaz na list nebo oblast. Tento parametr je nepovinný.

#### Příklad

=SHEETS(List1.A1:List3.G12) vrátí 3 pokud List1, List2 a List3 v dokumentu existují v uvedeném pořadí.

## VLOOKUP

Svislé hledání s odkazem na vedlejší buňky doprava. Tato funkce kontroluje, zda jsou specifikované hodnoty obsaženy v prvním sloupci matice. Funkce poté vrací hodnotu v té samé řádce, ale pro sloupec pojmenovaný jako Index. Je-li vynechán parametr Řazení nebo je-li nastaven na PRAVDA nebo 1, předpokládá se, že jsou data již seřazena vzestupně. V tomto případě, není-li nalezeno přesné KritériumHledání, bude vrácena poslední hodnota menší než kritérium. Je-li parametr Řazení nastaven na NEPRAVDA nebo 0, kritérium musí být nalezeno, jinak funkce skončí chybou Chyba: Hodnota není dostupná. Při zadání hodnoty 0 data tedy nemusí být vzestupně seřazena.

Vyhledávání podporuje zástupné znaky nebo regulární výrazy. Zadáte-li například "all.*", najdete první výskyt "all" následovaný jakýmikoliv znaky. Chcete-li hledat text, který je rovněž regulárním výrazem, musíte před každý regulární výraz napsat metaznak nebo operátor se znakem "\" nebo text uzavřít mezi \Q...\E. Vypnout a zapnout automatické vyhodnocování regulárních výrazů můžete v LibreOffice - PředvolbyNástroje - Možnosti - LibreOffice Calc - Výpočty.

Pokud použijete funkci, jejíž jeden nebo více argumentů představují řetězce s kritérii vyhledávání, nejprve dojde k pokusu převést tyto řetězce na číslo, například ".0" se převede na 0 a podobně. V případě úspěšného převodu se nebude vyhledávat regulární výraz, ale číslo. Pokud však používáte národní prostředí s jiným oddělovačem desetinných míst, než je tečka, regulární výraz bude fungovat. Chcete-li regulární výraz vždy vynutit místo číselného výrazu, použijte výraz, který nelze interpretovat jako číslo, například ".[0]", ".\0" nebo "(?i).0".

#### Syntaxe

=VLOOKUP(Vyhledávání; Matice; Index [; Vyhledávání v seřazené oblasti])

Vyhledávání je hodnota jakéhokoliv typu hledaná v prvním sloupci matice.

Matice je odkaz, který má obsahovat alespoň tolik sloupců, kolik je číslo v argumentu Index.

Index je číslo sloupce matice, který obsahuje hodnotu, která má být vrácena. První sloupec má číslo 1.

Vyhledávání v seřazené oblasti je nepovinný parametr, který určuje, zda první sloupec matice obsahuje meze rozsahů místo prostých hodnot. V takovém režimu funkce vrátí hodnotu z řádku, na němž se v prvním sloupci nachází hodnota menší nebo rovna Vyhledávání. Můžeme např. použít dny, kdy se změnila hodnota sazby daně; hodnoty v první sloupci pak budou představovat počáteční data období, v nichž určitá sazba daně platila. Vyhledávání pro datum, které v prvním sloupci matice chybí, avšak spadá mezi dvě existující mezní data, vrátí nižší hodnotu z této dvojice. Díky tomu nalezneme údaje, které platí pro vyhledávané datum. Pokud první sloupec nepředstavuje seznam mezí rozsahů, zadejte logickou hodnotu NEPRAVDA nebo nulu. Je-li tento parametr PRAVDA nebo je vynechán, první sloupec matice musí být seřazen vzestupně. Prohledávání seřazených sloupců je mnohem rychlejší a hledání vrátí hodnotu i pro položku jen částečně odpovídající hledanému výrazu, je-li větší než nejnižší hodnota seřazeného seznamu. U neseřazeného seznamu musí být položka zcela shodná s hledaným výrazem. V opačném případě funkce vrátí #N/A se zprávou: Chyba: Hodnota není dostupná.

Práce s prázdnými buňkami

#### Příklad

Chcete, aby se při zadání čísla pokrmu z menu do buňky A1 okamžitě objevilo jeho jméno jako text ve vedlejší buňce (B1). Přiřazení čísel a jmen je obsaženo v poli D1:E100. D1 obsahuje 100, E1 obsahuje jméno Zeleninová polévka a tak dále, pro všech 100 položek. Čísla ve sloupci D jsou setříděna ve vzestupném pořadí; takže volitelný parametr Řazení není nezbytný.

Do buňky B1 zadejte následující vzorec:

=VLOOKUP(A1;D1:E100;2)

Jakmile zadáte do buňky A1 číslo, zobrazí se v buňce B1 odpovídající text obsažený v druhém sloupci v oblasti buněk D1:E100. Pokud zadáte číslo, které se ve sloupci D nenalézá, bude zobrazen text odpovídající nejbližší následující číselné hodnotě. Pokud chcete, aby při zadání neexistujícího čísla byla zobrazena chybová zpráva, zadejte v posledním parametru vzorce logickou hodnotu NEPRAVDA.

Související témata

Funkce podle kategorie