Přeskočit navigaci | Přeskočit na novinky

Jste zde: Úvodní stránka » excel » funkce-vyhledavaci » neprimy-odkaz-indirect

NEPŘÍMÝ.ODKAZ (INDIRECT) - funkce Excel

Videokurzy Excel

Ve spolupráci se SEDUO jsem vytvořil několik videokurzů:

Jak prakticky používat vyhledávací funkci NEPŘÍMÝ.ODKAZ (INDIRECT) v Microsoft Excelu - praktické příklady včetně ukázky ke stažení zdarma.

18.2.2019: Doplněno o maticové zápisy a funkci ODKAZ

Obsah článku o NEPŘÍMÝ.ODKAZ (INDIRECT)

Seznam kapitol tohoto článku, aneb co se zde dozvíte.

Teoretický úvod

Trocha teorie než se pustíme do praktických příkladů.

Syntaxe v češtině

NEPŘÍMÝ.ODKAZ(odkaz; [a1])

Syntaxe v angličtině

INDIRECT(odkaz, [a1])

Popis argumentu

  • odkaz - Odkaz na buňku obsahující další odkaz typu A1 nebo R1C1, název definovaný jako odkaz nebo odkaz na buňku ve tvaru textového řetězce.
  • a1 - Nepovinný argument. Logickou hodnotu, která určuje typ odkazu.
    • PRAVDA (není uveden) - adresa typu A1.
    • NEPRAVDA - adresa typu R1C1.

Poznámky

  • Pokud hodnota argumentu odkaz neodpovídá platnému odkazu na buňku, vrátí funkce chybovou hodnotu #ODKAZ
  • Pokud argument odkaz odkazuje na jiný sešit, musí být sešit otevřen, jinak obdržíte chybovou hodnotu #ODKAZ!

Grafická ukázka jak funguje

NEPŘIMÝ.ODKAZ teoretická ukázka

Zpět na seznam kapitol.

Základní použití příklady

Základní použití funkce NEPŘÍMÝ.ODKAZ

NEPŘIMÝ.ODKAZ Excel - příklad

Pro ukázku funkce předpokládám v buňce A5 hodnotu 12, v buňce B6 hodnotu A5.

=NEPŘÍMÝ.ODKAZ("A5")

První příklad je na první pohled rovnocenný s jednoduchou funkcí =A5, ale při automatizaci výpočtu, případně při přidávání řádku (sloupců) u vzorce =A5, může dojít ke změně. Při použití funkce NEPŘÍMÝ.ODKAZ se stále bude odkazovat na A5!.

=NEPŘÍMÝ.ODKAZ(B6)

V buňce B6, která obsahuje hodnotu A5, což je odkaz na buňku A5, ve které je hodnota 12.

Poznámka

Odkazy mohou být i v absolutním tvaru $A$5.

=NEPŘÍMÝ.ODKAZ($B$6)

Zpět na seznam kapitol.

Pokročilejší příklady

Využití pojmenovaných oblastí, Odkazy R1C1.

Pojmenované oblasti

Předpokladem je buňka pojmenovaná DPH.

=NEPŘÍMÝ.ODKAZ(B12) =NEPŘÍMÝ.ODKAZ("DPH")

Odkazy R1C1

=NEPŘÍMÝ.ODKAZ(B16) =NEPŘÍMÝ.ODKAZ(B16;PRAVDA) =NEPŘÍMÝ.ODKAZ(B17;NEPRAVDA) NEPŘIMÝ.ODKAZ Excel - příklad

Zpět na seznam kapitol.

Dynamické odkazy

Spojení odkazu z několika samostatných buněk.

NEPŘIMÝ.ODKAZ Excel - příklad
=NEPŘÍMÝ.ODKAZ("A" & B21) =NEPŘÍMÝ.ODKAZ(B22 & B21)

Zpět na seznam kapitol.

Spojení funkce NEPŘÍMÝ.ODKAZ s jinou funkci

Spojení s funkcemi KDYŽ, SUMA.

NEPŘÍMÝ.ODKAZ ve spojení KDYŽ

Chcete-li zobrazit pokud je splněná podmínka:

=KDYŽ(B25="";0;NEPŘÍMÝ.ODKAZ(A25)) =KDYŽ(B26="";0;NEPŘÍMÝ.ODKAZ("A25"))

NEPŘÍMÝ.ODKAZ ve spojení SUMA

Použití ve spojení s funkcí SUMA. Kdy funkce SUMA provede součet buněk, které náležejí do danné oblasti. Ať definované názvem, nebo rozsahem. Při použití definovaného názvu, lze krásně využít dynamické tvorbu oblasti, která se automaticky zvětšuje na základě přidáváných hodnot (Dynamicky pojmenované oblasti).

=SUMA(NEPŘÍMÝ.ODKAZ("Jan")) =SUMA(NEPŘÍMÝ.ODKAZ("Honza")) =SUMA(NEPŘÍMÝ.ODKAZ("A29:A33")) =SUMA(NEPŘÍMÝ.ODKAZ("B29:B33")) NEPŘIMÝ.ODKAZ Excel - příklad

NEPŘÍMÝ.ODKAZ ve spojení PRŮMĚR

Použití ve spojení s funkcí PRŮMĚR

=PRŮMĚR(NEPŘÍMÝ.ODKAZ("Jan")) =PRŮMĚR(NEPŘÍMÝ.ODKAZ("Honza"))

NEPŘÍMÝ.ODKAZ ve spojení MIN, MAX

Použití ve spojení s funkcí MIN, MAX

=MIN(NEPŘÍMÝ.ODKAZ("Jan")) =MAX(NEPŘÍMÝ.ODKAZ("Honza"))

Dynamické odkazy

Ve spojení funkce NEPŘÍMÝ.ODKAZ s jinou funkcí, lze nádherně využít dynamicky definované pojmenované oblasti. Více o dynamcky pojmenovaných odkazech v samostatném článku (zde se jen an dynamicky definovanou oblast / název odkážeme):

Pokud nastudujete můžete využít:

=POSUN($A$2;0;0;POČET2($A$2:$A$200);1) atd.

Jiné řešení

Velice výhodné je vzužít nadefinování tabulky jako Tabulka a následn ě se na sloupce přímo odkazovat. Více viz další kapitoly.

Zpět na seznam kapitol.

NEPŘÍMÝ.ODKAZ s funkci SUM a dynamickým odkazem

Potřebuji dynamický rozsah ve funkci SUM (atd. např. MIN, MAX, COUNTIFS).

=SUMA(NEPŘÍMÝ.ODKAZ("B5:B8")) =SUMA(NEPŘÍMÝ.ODKAZ("B"&D14&":B"&E14)) "=SUMA(NEPŘÍMÝ.ODKAZ( C14&D14&"":""&C14&E14 ))"

Ukázka

NEPŘIMÝ.ODKAZ Excel - ve spojení se SUM a dynamickým rozsahem

Odkaz na jiné listy

Jak se pomocí funkce NEPŘÍMÝ.ODKAZ odkaz na jiné listy.

Odkaz na jiný list

Odkáže se na List2 buňku B5 a bude na tuto buňku neustále směřovat, ať na listě budete přídávat, ubírat listy. Stále obdržíte hodnotu co je v Listě 2 v buňce na B5. =NEPŘÍMÝ.ODKAZ("List2!$B$5")

Nebo se odkázat na buňku ve které je List2!$B$5, pokud bude zadáno v B4 tak v jiné buňce zadat:

=NEPŘÍMÝ.ODKAZ(B4)

Zpět na seznam kapitol.

Odkaz na jiné sešity

Podobně se lze odkazovat i na jiný sešit.

NEPŘIMÝ.ODKAZ Excel - příklad
A3 ... služby.xlsx A4 ... List2 A5 ... B1 =NEPŘÍMÝ.ODKAZ("'[" & A3 & "]" & A4 & "'!" & A5)

Zpět na seznam kapitol.

NEPŘÍMÝ.ODKAZ v ověření dat

Podobné řešení jsem zatím nikde neviděl. Jen to, které jsem před 8 lety publikoval a využívá funkce POČET2 a POSUN. Toto je elegantnější, tak se třeba také postupně rozšíří ;)

Jak využít NEPŘÍMÝ.ODKAZ v ověření dat. Aneeb využití tabulky naformátované jako tabulka (tím pádem se mi dynamicky zvětšuje) a propisuje do ověření dat.

Jak na To ukážu v této kapitole:

Předpokládám

Máte vloženou tabulku jako tabulka nad seznamem zaměstnců. Jak vložit tabulku jako tabulka jsem poslal v článku: tabulka jako tabulka. Tabulka má své jméno a odkaz na sloupec to využijete. Neboli. Daná (moje) tabulka se jmenuje Tabulka1 a sloupc Jméno pracovníka. Celkově se tedy na sloupec v tabulce mohu odkazovat: Tabulka1[Jméno pracovníka]

Řešení

Následně vložíte ověření dat nad seznamem. Jak na ověření dat jsem popsal v článku: ověření dat, kde vyberete seznam a odkážete se pomocí funkce NEPŘÍMÝ.ODKAZ - víte jak se jemnuje tabulka a příslušný sloupec, který chcete mít v ověření dat (bue se načítat). Výsledek bude:

=NEPŘÍMÝ.ODKAZ("Tabulka1[Jméno pracovníka]")

Nebo-li jméno s odkazem na sloupec dáte v NEPŘÍMÝ.ODKAZ do uvozovek. Potvrdíte OK a máte hotovo

Ukázka

NEPŘÍMÝ.ODKAZ s ověřením dat - Excel

Ke stažení:

Soubor NEPŘÍMÝ.ODKAZ s ověřením dat soubor ve formátu *.xlsx ke stažení zdarma.


Jiné řešení

Řešit lze i jinak. Například dynamický oblast pro ověření dat využitím funkce POSUN. Nebo propojené dynamické seznamy.

Výpočty tabulka jako Tabulka

Jak využívat funkci NEPŘÍMÝ.ODKAZ v tabulkách nastylovaných jako Tabulka.

Data

Mějme tabulky definované jako Tabulka, kdy názvy tabulek jsou Divize1, Divize2 atd. Tabulky obsahují výrobky a za kolik obratu daný výrobek v daném měsíci přinesl. Sloupce jsou označeny názvy měsícu jako textový formát 01, 02, atd.

Potřebujete sečíst obrat v daném měsíci a v dané divizi.

NEPRIMY-ODKAZ-INDIRECT-EXCEL-data-suma.JPG

Řešení

Klasicky se můžete na sloupec odkázat:

=SUMA(Divize1[01])

Do buněk O11 a O12 zadávate Divizi a Měsíc (můžete využít ověření dat).

Řešení může vypadat:

1) Test zda funguje ručně zadaný název ve funkci NEPŘÍMÝ.ODKAZ

=SUMA(NEPŘÍMÝ.ODKAZ("Divize1[01]"))

2) Doplníte funkci NEPŘÍMÝ.ODKAZ o odkaz na měsíc (pokud máte jen jednu tabulku máte hotovo)

=SUMA(NEPŘÍMÝ.ODKAZ("Divize1["&O13&"]"))

3) Kompletní ukázka kdy se můžete dynamicky odkazovat na jméno tabulky i sloupce

=SUMA(NEPŘÍMÝ.ODKAZ(O12&"["&O13&"]"))

Ukázka řešení

NEPRIMY-ODKAZ-INDIRECT- řešení

Poznámky

Podobně se dá využívat odkazů na názvy sloupců, atd.

NEPŘÍMÝ.ODKAZ s využitím SMALL/ LARGE pro SUMA, PRŮMĚR

Z oblasti, chci vypočíst SUMA, PRŮMĚR z oblasti, ale do průměru chci zahrnout jen nejmenší/největší čísla (třeba tři):

Maticově

Výpočty SUMA a tři minima se musí zadávat maticově (Ctrl + Shift + Enter):

=SUMA(SMALL(B5:B13;ŘÁDEK(NEPŘÍMÝ.ODKAZ("1:3")))) .. pro 4 hodnoty =SUMA(SMALL(B5:B13;ŘÁDEK(NEPŘÍMÝ.ODKAZ("1:4"))))

Výpočty SUMA a tři maxima se musí zadávat maticově (Ctrl + Shift + Enter):

=SUMA(LARGE(B5:B13;ŘÁDEK(NEPŘÍMÝ.ODKAZ("1:3"))))

Ukázka

NEPRIMY-ODKAZ-INDIRECT- řešení s maticovým zápisem

Číselná řada s NEPŘÍMÝ.ODKAZ

Jak zadávat číslednou řadu od do využitím maticové funkce. Funkce se musí zadávat maticově (Ctrl + Shift + Enter):

{=ŘÁDEK(NEPŘÍMÝ.ODKAZ(I4&":"&I5))} co funkce vztvoří vzužitím klávesy F9 ve funkci ={10;11;12;13;14;15;16;17;18;19;20}

Ukázka

NEPRIMY-ODKAZ-INDIRECT- řešení s maticovým zápisem

NEPŘÍMÝ.ODKAZ a ODKAZ pro vložení adresy

Potřebuji přečíst hodmotu z řádku 4 a sloupce 3:

=NEPŘÍMÝ.ODKAZ(ODKAZ(4;3)) lze využít i odkaz R1C1, ale musí se zadávat do uvozovek, což využitím funkce ODKAZ =NEPŘÍMÝ.ODKAZ("R4C3";NEPRAVDA)

Ukázka

NEPRIMY-ODKAZ-INDIRECT- řešení s funkci ODKAZ

O funkci ODKAZ (ADDRESS)

Chyby s funkcí NEPŘÍMÝ.ODKAZ

Ve funkci NEPŘÍMÝ.ODKAZ mohou vznikat chyby, nějčastěji, když funkci NEPŘÍMÝ.ODKAZ zapomenete použít.

Chybný odkaz

Odkaz na buňku se musí správně zadat:

neexistuje sloupec XFE: =NEPŘÍMÝ.ODKAZ("XFE1") #ODKAZ! název odkazované buňky není v uvozovkách =NEPŘÍMÝ.ODKAZ(XFD1) #NÁZEV? Správně: =NEPŘÍMÝ.ODKAZ("XFD1")

Chybí NEPŘÍMÝ.ODKAZ

Potřebuji se ve funkci SUMA odkázat na oblast s názvem Honza.

CHYBA! =SUMA("Honza") #HODNOTA! =SUMA(Honza) #NÁZEV? správně =SUMA(NEPŘÍMÝ.ODKAZ("Honza"))

NEPŘÍMÝ.ODKAZ s využitím VBA

Při zadání do buňky

Range("B7").Formula = "=INDIRECT(B4)" Range("B8").FormulaLocal = "=NEPŘÍMÝ.ODKAZ(B4)"

VBA s odkazem na buňku.

x = Range(Range("B4").Value).Value MsgBox x

Ukázka

NEPRIMY-ODKAZ-INDIRECT- ve VBA

Tip. Další ukázky místo Range, lze využít Cells, a upravit vlastnosti místo Value, Value2, Text, Formula ....

Logo ke stažení příklady Excel

Příklady ke stažení zdarma

Soubor praktické příklady použití funkce NEPŘÍMÝ.ODKAZ (INDIRECT) soubor ve formátu *.xls ke stažení zdarma.


Související články s funkci HYPERTEXTOVÝ.ODKAZ

Další články související s vyhledávacími funkcemi:


Závěrem

Popis funkce NEPŘÍMÝ.ODKAZ máte za sebou, pokud jsem něco neuvedl, nebo máte zajimavé využití této funkce, můžete zmínit v komentářích.

Článek byl aktualizován: 19.09.2020 11:00

Odměna

Ušetřil vám tento web čas, peníze? Pomohl vyřešit problém? Jste ochotni poskytnout symbolickou odměnu na další rozvoj? Vybrte si formu odměny, která vám vyhovuje.


Pavel Lasák - autor webu

Pavel Lasák

Microsoft Office (Word, Excel, Google tabulky, PowerPoint) se věnuji od roku 2000 (od 2004 na této doméně) - V roce 2017 jsem od Microsoft získal prestižní ocenění MVP (zatím jsem jediný z ČR v kategorií Excel). Své vědomosti a zkušenosti dávám k dispozici i on-line ve videích pro SEDUO. Ve firmách školím a konzultuji, učím na MUNI. Tento web již tvořím přes 15 let. Zdarma je zde přes 1.000 návodu, tipů a triků, včetně přes 250 různých šablon, sešitů.

   Pavel Lasák LinkedIn Profil    Pavel Lasák Google+ Profil    Pavel Lasák facebook Profil    Pavel Lasák twitter Profil


Komentáře


Jirkaggg

Přidáno: 01.12.13 14:35

Dobrý den, řeším následující problém. Chci udělat průměr ve sloupci dat mezi buňkami, které chci definovat pomocí odkazu tak, že si posuvníkem zvolím číslo řádků buněk mezi kterými má být spočítán průměr. Odkazem získám odkaz na 1. a další buňkou, mezi kterými hledám průměr. Leč, pokud dosadím hodnoty odkoza do vzorce PRŮMĚRu,výsledkem je ale hláška #DIV/0! nevím, jak bych měl postupovat, aby excel pochopil, že to jsou vlasně buňky se začátkem a koncem oblasti, kde se má průměr spočítat. Mohl byste mi pomoci? Děkuji. J

Pavel Lasák

Přidáno: 01.12.13 19:06

To Jirkaggg: Třeba vám zajím pomůže http://office.lasakovi.com/excel/funkce/dynamicky-definovana-oblast-pro-graf/ jinak příklad zkusím vytvořit příští týden, teď nestíhám.

Jirkaggg

Přidáno: 02.12.13 12:21

Dobrý den, děkuji za popostrčení, již to funguje. Škoda, že nelze zaslat přílohu, ušetřil bych Vám práci. Hezký den přeje J.

Jan Hofman

Přidáno: 02.02.14 18:52

Dobrý den, mám takový dotaz, mám dva listy a v tom jednom odkazuju na ten druhý , bohužel když smažu prázdné řádky a jen se to posune nahoru, mam chybu odkaz. to jsme se pokoušel vyřešit pomocí nepřímého odkazu , ale i když nic nesmažu rovnou to hodí odkaz. Mohl byste poradit díky

Pavel Lasák

Přidáno: 25.06.14 16:00

To Jan Hofman: Jak mate zapsanou funkci? Nechybi tam uvozovky?

Libor

Přidáno: 20.10.14 07:32

Přeji hezký den. Marně se snažím rozchodit nepřímý odkaz mezi různými sešity. Umí to vůbec? Nesnažím se zbytečně?

Jojo

Přidáno: 04.11.14 12:38

To Libor: -- ak sú zošity otvorené: -- =NEPŘÍMÝ.ODKAZ("'[Sešit2]List1'!A1")

Markéta

Přidáno: 30.11.14 13:39

Dobrý den, prosím o radu. Asi je to trivialita a něco dělám špatně, ale nejde mi rozkopírovat vzoreček. Vytvořila jsem si závislé seznamy s propojením přes ověření dat (kaskádový seznam). Funguje, ale nejde mi rozkopírovat vzorec s funkcí nepřímý.odkaz (indirect) na další řádky. Ve všech dalších řádcích se vždy odkazuje na buňku A2 - vzorec vypadá takto: =NEPŘÍMÝ.ODKAZ($A$2). Pro další řádky je tak funcionalita nepoužitelná (pokud to v každém řádku ručně neopravím) a já nejsem schopna přijít tomu na kloub, ačkoliv tuším, že to bude nějaká prkotina. Moc děkuji za radu.

Markéta

Přidáno: 30.11.14 17:54

vyřešeno

Jakub

Přidáno: 04.02.15 11:26

Hezký den.Tušíte prosím,proč vzorce s nepřímým odkazem do jiného sešitu nejsou při otevření sto nabídnout svou poslední hodnotu i přes potlačení své aktualizace, i když sešit sám ji prokazatelně až do teto chvíle uchovává? Samozřejmě mám na mysli okamžik, kdy volaný sešit není otevřený.

Tomáš

Přidáno: 21.04.15 16:25

Dobrý den, mám dotaz, mám tabulku se dvěma sloupci, kde v jednom sloupci je text a ve druhém číselné hodnoty. A můj úkol spočívá v tom, že když se v tom prvním sloupci zobrazí konkrétní slovo LTO, aby mi z toho druhého sloupce danou hodnotu (což je množství) přeneslo do jiné zvolené buňky? Mohu poprosit jakým způsobem to řešit? Děkuji za radu

Jojo

Přidáno: 22.04.15 07:37

To Tomáš: -- Ak je tabuľka v stĺpci A a B, tak do cielovej bunky napísať -- =SVYHLEDAT("LTO";A:B;2;NEPRAVDA)

Tom

Přidáno: 03.12.15 16:32

Dobrý den, potřeboval bych trochu poradit, mám fungující odkaz ='C:\pokus\[p1.xlsx]List1'!A8 ale co mám udělat, když bych chtěl to "p1.xlsx" načítat z nějaké buňky, tedy z buňky která bude mít v sobě p1.xlsx. Mám spoustu takových odkazů a vždy je potřebuju přepsat najednou, takhle bych jen přepsal jednu buňku a bylo by hned hotovo

Tom

Přidáno: 03.12.15 18:15

Dobrý den, potřeboval bych trochu poradit, mám fungující odkaz ='C:\pokus\[p1.xlsx]List1'!A8 ale co mám udělat, když bych chtěl to "p1.xlsx" načítat z nějaké buňky, tedy z buňky která bude mít v sobě p1.xlsx. Mám spoustu takových odkazů a vždy je potřebuju přepsat najednou, takhle bych jen přepsal jednu buňku a bylo by hned hotovo

Pavel Lasák

Přidáno: 30.01.16 13:22

To Tom: Úplně poslední kapitola článku obsahuje řešení ;) Jen služby.xlsx přepíšeš na p1.xlsx

eXMarty

Přidáno: 03.05.16 18:59

Zdravím, předem chválím krásné přehledné a podrobné zpracování. Chtěl bych se zeptat, zda existuje něco jako NEPŘÍMÝ.VZOREC že bych v buňce na kterou bych použil v tomto vzorci zadal např. ">1000" Nebo nějaká jiná ráda jak toho realizovat (pomocí několika vnořených KDYŽ, kde bych si vzal první znak buňky a pro každý případ "znaménka" bych napsal porovnání, kde by byl znak natvrdo zadán mě řešení napadá - ale nepřijde mi moc elegantní) Děkuji

StanDa

Přidáno: 09.11.16 15:49

Dobrý den, potřeboval jsem vytvořit nepřímé odkazy na buňku v jiných sešitech pojmenovaných např. 1.xlsx, 2.xlsx ..atd, přičemž proměnnou část názvu jsem chtěl do vzorce vložit pomocí odkazu na buňky s touto proměnnou hodnotou (1, 2..atd). Bohužel jsem se nedostal ani přes ten problém, že v Office 2016 nefunguje nepřímý odkaz na sešit, který není otevřený (mám ve vzorci kompletní cestu k souboru 'C:\Doku... Pokud cílový soubor na chvíli otevřu - požadovaná hodnota se objeví. Pokud ale přepíšu název na soubor, který je aktuálně zavřený, znovu se objeví chyba #ODKAZ!






Excel


Sdílejte

Pomohl Vám návod?
Sdílejte na Facebooku, G+
LinkedIn...

Nové články


Reklama


TOPlist Licence Creative Commons webarchiv rss XML

Stránky o MS Office (Excel) produktu společnosti Microsoft. Neslouží jako technická podpora.
| Email na autora: pavel.lasak@gmail.com | Copyright © : Pavel Lasák 2004 - 2024 |