Jste zde: Úvodní stránka » excel » zaklady » relativni-absolutni-odkazy-excel
Relativní a absolutní odkazy - MS Excel
není odkaz jako odkaz
Proč odkazy
Bez odkazů se v Excelu neobejdeme. Pokud do buňky nezapíšete =1+1, ale máte v buňce A1 =1, v buňce A2 =1, pokud potřebujete v buňce A3, mít součet tak zapíšete =A1+A2 a máte výsledek.
Dále si ukážeme další druhy odkazů. Jakmile ale odkazování pochopíte, uznáte, že jeho myšlenka je geniální.
Jaké jsou druhy odkazů
V MS Excelu se lze odkazovat dvěma typy zápisu:
- klasickým A1 - tj. že řádky jsou označeny čísly a sloupce písmeny
- programátorským R1C1 - Toto odkazování je trochu matoucí, osobně jej moc nepoužívám (jen při hledání chyb se někdy hodí), ale pokud se Vám libí tak není problém, abyste tento systém využívaly.
V obou typech zápisů existují 3 druhy odkazu (jejich použití ukážu na klasickém zápisu):
- relativní A1 - když se vzorec zkopíruje, odkaz na další buňku se přizpůsobí nové pozici. Příklad: v buňce B1 zadáno (=A1) zkopírováním do buňky B2 se odkaz změní na (=A2).
- absolutní $A$1 - odkaz se nezmění. Příklad: v buňce B1 zadáno (=$A$1) zkopírováním do buňky B2 se odkaz nezmění, zůstane na (=$A$1).
- smíšený - tento odkaz může být buď:
- řádkově absolutní A$1
- sloupcově absolutní $A1
Poznámka: Přepínaní mezi absolutním, relativním, řádkově absolutním a sloupcově absolutním odkazem lze pomocí klávesové zkratky F4
Příklady odkazů:
Klasický odkaz A1 může být ještě doplněn o další upřesňující informace. Pokud máte výpočty pouze na jednom listu, není potřeba, ale máte-li rozsáhlý soubor o několika listech je potřeba se odkazovat na správný list. Případně se můžete odkazovat i do jiného sešitu. Navíc název souboru může obsahovat mezery. Takže v následujícím ukážu možnosti odkazování.
- A1 - odkaz na buňku ve stejném listu
- List2!A1 - odkaz na buňku v jiném listu
- [priklad.xls]List1!A1 - sešit musí být otevřen
- '[jiny nazev s mezerami.xls]List1'!A1 - musí být uvedeno v uvozovkách
- 'C:\Dokumenty_moje\Excel\[priklad.xls]List1!A1
Poznámka: Odkazy mohou být absolutní, relativní nebo smíšené.
Jednoduchý příklad
Cena obdélníkových plechů
Představte si, že máte tabulku různých plechů. V řádku je výška ve sloupci šířka a v separátní buňce cena za 1m2 plechu. Vašim úkolem bude vypočíst cenu jednotlivých plechů.
Ukázka tabulky
|
obdélník šířka |
obdélník výška | ||||
|---|---|---|---|---|---|
| 10 | 20 | 30 | 40 | 50 | |
| 10 | |||||
| 20 | |||||
| 30 | |||||
| 40 | |||||
| 50 | |||||
Cena za 1m2 plechu je 50,- Kč
Postup řešení
Takže nejprve si vypočteme plochu. Čísla jsou volena schválně tak jednoduchá ať si můžete zkontrolovat výsledek z hlavy.
Výška x šířka =A2*B1
Ale tento vzorec platí pro první buňku při rozkopírováni v dalších buňkách, budou nesprávné údaje. takže odkaz musíme doplnit o absolutní smíšené odkazování tj.:
- pro první část vzorce sloupcově, aby se neměnil sloupec, když kopírujeme doprava
- pro druhou část vzorce, aby se neměnil řádek, když kopírujeme dolů
takže správný vzorec vypadá:
Výška x šířka =$A2*B$1
Poznámka: Je pravda, že můžete vzít buňku po buňce a do každé doplnit výška * šířka, ale při tabulce o 1000 položkách na to budete potřebovat týden.
Když už nám vzorec funguje, doplníme o cenu:
=$A12*B$1*$C$18
a máme hotovo
Příklad ke stažení zdarma
Ukázkový příklad Odkazy - Excel ke
stažení zdarma ![]()
Závěrem
Takže už umíme a víme jak se odkazovat v MS Excelu.
Článek byl aktualizován: 01.05.2012 20:14
Další články k tématu
- MS Excel co, proč, nač?
- Proč umět Excel?
- Proč školení MS Excel?
- On-line kurz zdarma
- Klávesové zkratky
- Excel 2010 - úvodní obrazovka
- Relativní a absolutní odkazy Excel - právě čtete
- Chybové hodnoty
- Výpočtový program
- Ke stažení zdarma
- Excel 2007 - noviky
- Pás karet - Excel 2007
- Pás karet - Excel 2010
- Excel 15 - Office 15
Komentáře
jipi
Přidáno: 16.12.10 17:36
Dobrý den. Prosím o radu, zda je možné v makru, jehož součastí je je výběr pomocí automatického filtru provést odkaz na hodnotu v nějaké buňce tak, jak to jde např. u funkcí (př. u fce: kriterium: ">="&A1). Děkuji
Pavel Lasák
Přidáno: 18.12.10 20:31
to Jipi: Pokud chápu tak v makru bych použil podmínky: http://office.lasakovi.com/excel/vba/ms-excel-podminky-if-then-elseif-else/
jipi
Přidáno: 02.01.11 20:09
Dobrý den. "Kudy chodím, tudy chválím" "office.lasakovi.com". A tak tedy: "Vše nejhorší Vám a Vašim blízkým v novém roce ať se vyhne velkým obloukem". Ale bohužel něco chci návazně na předchozí dotaz neb jsem se asi špatně vyjádřil (stáří již nedovolí): mám v makru: ActiveSheet.Range("$A$5:$EN$65000").AutoFilter Field:=34, Criteria1:=">=100" _ , Operator:=xlAnd a potřeboval bych zaměnit "Criteria1:=">=100" (případně na datum: Criteria1:=">=1.1.2000") " za odkaz na hodnotu v "nějaké" buňce na jiném listu tak, jak to jde např. ve fci "SUMIFS" PODMÍNKA: ">="&A1. Dotaz: "A co takhle nějaká odměna za Vaši radu? Pro začátek aspoň kvalitní "Mělnické" víno kdybych věděl adresu. Přeci nejsme v komunismu podle hesla "Každému podle jeho potřeb". Já uznávám mimo jiné heslo, které jsem měl na rýsovacím prkně "Základem úspěch je motivace lidí", pokud možno kladná ... Zdraví Petr Jirmus (jipi)
Pavel Lasák
Přidáno: 03.01.11 15:55
To jipi> Dekuji. Ja jsem otazku spatne pochopil. VBA je nutno doplnit o: Dim strCriteria As String Range("G3").Select strCriteria = ActiveCell.FormulaR1C1 ActiveSheet.Range("$C$3:$D$7").AutoFilter Field:=2, Criteria1:=strCriteria, Operator:=xlAnd (v buňce G3 zadávat napr. ">=100", tj. vcetne znaminek) Jeste zapremyslim, zda to nepujde jednoduseji a elegantneji.
Pavel Lasák
Přidáno: 03.01.11 16:22
To Jipi: Takže ani strejda google neporadil elegantnější řešení. Pokud mi pošlete email lasak@centrum.cz tak mohu zaslat ukázku zpět.
Dim strCriteria As String
Range("G3").Select
strCriteria = ActiveCell.FormulaR1C1
ActiveSheet.Range("$C$3:$D$7").AutoFilter Field:=2, Criteria1:=strCriteria, Operator:=xlAnd
jipi
Přidáno: 03.01.11 20:43
Bingo! Chodí to. Smekám. Tak to je "A". A jak s tím "B"? Hezký zbytek dne jipi
xlnc
Přidáno: 24.07.11 00:46
Na datumy ve filtrech pozor, obzvláště na kód vygenerovaný českým Záznamníkem maker. Zkuste se inspirovat tady: http://excelplus.net/infusions/cvs/view_file.php?file_id=27
Pavel Lasák
Přidáno: 24.07.11 06:18
To xlnc: Děkuji za odkaz.
Stanislav
Přidáno: 20.09.11 15:01
Dobrý den, měl bych dotaz ohledně vytvoření relativního odkazu na jiný sešit. Mám jeden soubor, který hodlám používat jako šablonu a potom několik excelovských souborů s různýma datama, které se jmenují stejně. Potřebuji nějak dosáhnout toho, aby excel s daty, který otevřu, tak aby byly tyto data nataženy do souboru, který používám jako šablonu. Zatím jsem bohužel nebyl úspěšný, protože soubor šablona mi pořád natahuje data stále z jednoho a toho samého excelu s datama... Můžete mi prosím poradit? Předem díky.
Stanislav
Přidáno: 20.09.11 15:11
Případně mi prosím napište na email kachynas@seznam.cz, díky moc
Pavel Lasák
Přidáno: 20.09.11 17:39
To Stanislav: Soubory se jmenuji stejně? To potom musí byt v různých adresářích.
David K.
Přidáno: 21.10.11 07:41
Dobrý den, kopírování s abs. i relativními odkazy je jednoduché, ale s čím mám potíž je následující: LIST1 - 700 záznamů po řádku, od A1 do A700. LIST2, využívá na řádku 1:6 relativní odkaz na =LIST1!A1 (A1=LIST1!A1; A2=LIST1!A1; A3=LIST1!A1; A4=LIST1!A1; A5=LIST1!A1 a A6=LIST1!A1) protože s tím pak počítám dál a proto. ALE! Jakmile na řádku A7 dám kopírovat vložit, tak mi (velmi správně) excel napíše vzorec A7=LIST1!A6 tedy o 5 víc, ale já nutně potřebuji, aby se odkazoval na druhý řádek listu1. A nevím jak na to. Prostě rozkopírovat 700*6 se mi fakt nechce.
Pavel Lasák
Přidáno: 21.10.11 16:20
David K. Osobně bych si na to napsal skript ve VBA. Jak to udělat efektně bez VBA bohužel nevím.
David K.
Přidáno: 14.11.11 13:26
Nevadí, už jsem na to přišel. =INDEX('L:\abc\a\M\[1.xlsx]M'!B$2:B$990;ZAOKR.DOLŮ((ŘÁDEK('L:\abc\a\M\[1.xlsx]M'!B2)+2)/4;1);1) Kromě vyhledávání je finta jen ve funkci ŘÁDEK(), pak už to jen hladá. Vezme číslo řádku, vydělí počtem opakování (v mém případě 4), zaokrouhlí a přičte aktuální číslo řádku (začal jsem na řádku 2, tak +2, na řádku 5 pak +5) a funguje to...
Pavel Lasák
Přidáno: 14.11.11 16:11
To David K.: Děkuji za publikaci řešení.
Radek
Přidáno: 30.11.11 17:31
Dobrý den, chtěl bych se zeptat jak mám zadat vzorec pro to, aby když v buňce bude písmeno např "D" aby buňky celá zčervenala Děkuji za radu
Pavel Lasák
Přidáno: 30.11.11 17:59
To Radek: Použijte podmíněné formátování: Podmíněné formátování – Excel 2007, 2010
Přidáno: 30.11.11 18:35
To Pavel : :-D jak snadné jen si vzpomenout když to zrovna člověk potřebuje :-D mnohokrát Vám děkuji za okamžitou odpověď
Pavel Lasák
Přidáno: 30.11.11 20:40
To Radek: proto jsem vytvořil tyto stránky. Ať si to nemusím pamatovat :-)
Přidání nového komentáře
Za obsah komentářů neodpovídám, jelikož jsou komentáře publikovány ihned po jejich napsání čtenářem. Toto nemohu nijak ovlivnit. Přesto si vyhrazuji možnost jakýkoli neslušný komentář smazat bez udání důvodu.
Nejnovější článek
Z článku o
excel jsem jako poslední přidal či upravil článek
14.05.2012:
Kombinování funkcí - vzorců.
Nejčtenější článek
Excel
- Základy MS Excel
- MS Excel co, proč, nač?
- Proč umět Excel?
- Proč školení MS Excel?
- On-line kurz zdarma
- Klávesové zkratky
- Excel 2010 - úvodní obrazovka
- Relativní a absolutní odkazy Excel
- Chybové hodnoty
- Výpočtový program
- Ke stažení zdarma
- Excel 2007 - noviky
- Pás karet - Excel 2007
- Pás karet - Excel 2010
- Excel 15 - Office 15
- menu Soubor
- Formát dat
- Vložit
- Grafy
- Vzorce (Funkce)
- Matice
- Data
- Revize (Nástroje)
- VBA Úvod a seznamy článků
- VBA Teorie základy
- VBA Buňky cell
- VBA Listy sheet
- VBA Práce se soubory
- VBA Formuláře (UserForm)
- VBA Grafy
- VBA Application
- VBA Pás karet, Menu
- VBA Triky
- VBA praktické příklady kódu
- Praktické příklady
- Finanční poradce
- Šablony - Templates
- Testy
- Ostatní
Google+
Novinky
Matematické rovnice (vzorce) - Word 2010
Excel: 14.05.2012:
Kombinování funkcí - vzorců
Access: 28.04.2012:
VBA - Jak spustit v MS Access
Power Point: 25.04.2012:
SmartArt - PowerPoint 2010
Outlook 26.04.2012:
Outlook 2010 - jak vypadá
Project: 05.04.2012:
Kalendář ukázka
OneNote: 17.10.2010:
OneNote 2010 – popis obrazovky
Office 30.04.2012:
Kde hledat odpovědi na dotazy o MS Office
Poděkování
Translate
Stránky o MS Office produktu společnosti Micosoft. Neslouží jako technická podpora.
| Email na autora: lasak@centrum.cz | Copyright © : Pavel a Danka 2006 - 2012 |
| Doporučuji: Advokátní kancelář Brno - Dana Lasáková |
8213
Tento web zatím neprošel jazykovou korekturou. Beta verze redakčního systému.