Chyba #REF! sa zobrazí, keď vzorec odkazuje na neplatnú bunku. Toto sa najčastejšie stáva, keď sa odstránia alebo prilepia bunky, na ktoré vzorce odkazovali.
V nasledujúcom príklade sa používa vzorec =SUM(B2;C2;D2) v stĺpci E.
Ak by ste odstránili stĺpec B, C alebo D, spôsobilo by to #REF! Ak je zadané umiestnenie pred prvou alebo za poslednou položkou v poli, výsledkom vzorca bude chybová hodnota #ODKAZ!. V tomto prípade odstránime stĺpec C (2007 Sales) a vzorec prečíta vzorec =SUM(B2;#REF!;C2). Keď použijete takéto explicitné odkazy na bunky (kde odkazujete na každú bunku jednotlivo, oddelené čiarkou) a odstránite odkazovaný riadok alebo stĺpec, Excel ho nedokáže vyriešiť, takže vráti #REF! Ak je zadané umiestnenie pred prvou alebo za poslednou položkou v poli, výsledkom vzorca bude chybová hodnota #ODKAZ!. Toto je hlavný dôvod, prečo sa používanie explicitných odkazov na bunky vo funkciách neodporúča.
Riešenie
-
Ak ste omylom odstránili riadky alebo stĺpce, môžete okamžite vybrať tlačidlo Späť na paneli s nástrojmi Rýchly prístup (alebo ich obnoviť stlačením kombinácie klávesov CTRL + Z).
-
Upravte vzorec tak, aby obsahoval odkaz na rozsah namiesto jednotlivých buniek, napríklad =SUM(B2:D2). Teraz by ste mohli odstrániť ľubovoľný stĺpec v rozsahu súčtu a Excel automaticky upraví vzorec. Môžete tiež použiť vzorec =SUM(B2:B5) na súčet riadkov.
V nasledujúcom príklade funkcia =VLOOKUP(A8;A2:D5;5;FALSE) vráti #REF! pretože hľadá hodnotu, ktorá sa má vrátiť zo stĺpca 5, ale referenčný rozsah je A:D, čo sú len 4 stĺpce.
Riešenie
Upravte rozsah tak, aby bol väčší alebo zmenšil hľadanú hodnotu stĺpca tak, aby zodpovedal referenčnému rozsahu. Vzorec =VLOOKUP(A8;A2:E5;5;FALSE) bude rovnako platný odkaz na rozsah ako aj =VLOOKUP(A8;A2:D5;4;FALSE).
V tomto príklade vzorec =INDEX(B2:E5;5;5) vráti #REF! pretože rozsah INDEX je 4 riadky a 4 stĺpce, ale vzorec požaduje vrátenie obsahu v 5. riadku a piatom stĺpci.
Riešenie
Upravte odkazy na riadky alebo stĺpce tak, aby boli v rámci rozsahu vyhľadávania funkcie INDEX. Vzorec =INDEX(B2:E5;4;4) by vrátil platný výsledok.
V nasledujúcom príklade sa funkcia INDIRECT pokúša odkazovať na zošit, ktorý je zavretý a spôsobuje #REF! Ak je zadané umiestnenie pred prvou alebo za poslednou položkou v poli, výsledkom vzorca bude chybová hodnota #ODKAZ!.
Riešenie
Otvorte zošit, na ktorý sa odkazuje. Ak odkazujete na zatvorený zošit s funkciou dynamického poľa, vyskytne sa rovnaká chyba.
Štruktúrované odkazy na názvy tabuliek a stĺpcov v prepojených zošitoch nie sú podporované.
Vypočítané odkazy na prepojené zošity nie sú podporované.
Premiestnenie alebo odstránenie buniek spôsobilo neplatný odkaz na bunku alebo funkcia vracia chybu odkazu.
Ak ste použili prepojenie OLE (Object Linking and Embedding), ktoré vracia #REF! a potom spustite program, ktorý prepojenie volá.
Poznámka: OLE je technológia, ktorá slúži na zdieľanie informácií medzi programami.
Ak ste použili tému dynamickej výmeny údajov (DDE), ktorá vracia #REF! najskôr skontrolujte, či odkazujete na správnu tému. Ak stále dostávate #REF! skontrolujte nastavenia Centra dôveryhodnosti pre externý obsah, ako je uvedené v časti Blokovanie alebo odblokovanie externého obsahu v dokumentoch služby Microsoft 365.
Poznámka: Dynamická výmena údajov (DDE)je vytvorený protokol na výmenu údajov medzi programami so systémom Microsoft Windows.
Problémy s makrom
Ak makro zadá do hárka funkciu, ktorá odkazuje na bunku nad funkciou a bunka obsahujúca funkciu sa nachádza v riadku 1, funkcia vráti #REF! pretože nad riadkom 1 sa nenachádzajú žiadne bunky. Skontrolujte funkciu a zistite, či argument odkazuje na bunku alebo rozsah buniek, ktorý nie je platný. Táto situácia môže na zohľadnenie tejto situácie vyžadovať úpravu makra v editore jazyka Visual Basic (VBE).
Potrebujete ďalšiu pomoc?
Vždy sa môžete opýtať odborníka v komunite Excel Tech Community alebo získať podporu v komunitách.
Pozrite tiež
Zabránenie vzniku nefunkčných vzorcov