Operátor implicitného prieniku: @

Vzťahuje sa na
Excel pre Microsoft 365 Excel pre Microsoft 365 pre Mac Excel 2024 Excel 2021 Excel 2019 Excel 2016

Operátor implicitného prieniku bol zavedený ako súčasť rozsiahlej inovácie jazyka vzorcov Excelu na podporu dynamických polí. Dynamické polia prinášajú do Excelu významné nové možnosti a funkcie výpočtov.

Inovovaný jazyk vzorcov

Inovovaný jazyk vzorcov v Exceli je takmer identický s pôvodným jazykom, s tým rozdielom, že používa operátor @ na označenie miesta, kde by sa mohol vyskytnúť implicitný prienik, zatiaľ čo starý jazyk to robil potichu. Z tohto dôvodu si možno všimnete @'s appear in some formulas when opened in dynamic array Excel. It', že vaše vzorce budú aj naďalej počítať rovnakým spôsobom, ako vždy.  

Čo je implicitný prienik?

Logika implicitného prieniku redukuje mnohé hodnoty na jednu hodnotu. Excel vykonal tento postup s cieľom vynútiť vzorec vrátiť jednu hodnotu, keďže bunka mohla obsahovať iba jednu hodnotu. Ak vzorec vracal jednu hodnotu, potom implicitný prienik nič neurobil (aj keď sa technicky dial na pozadí). Logika funguje takto:

  • Ak je hodnota jedna položka, vrátiť položku.
  • Ak je hodnotou rozsah, vráti sa hodnota z bunky v rovnakom riadku alebo stĺpci, v ktorom sa nachádza vzorec.
  • Ak je hodnota poľom, vyberte hodnotu v ľavom hornom rohu.

S príchodom dynamických polí sa už Excel neobmedzuje len na vrátenie jednotlivých hodnôt zo vzorcov, takže tichý implicitný prienik už nie je potrebný. Tam, kde starý vzorec mohol neviditeľne spustiť implicitný prienik, Excel s dynamickým poľom zobrazí miesto, kde by sa to vyskytlo s znakom @.  

Prečo symbol @?

Symbol @ sa už používa v odkazoch na tabuľky na označenie implicitného prieniku. Zamyslite sa nad nasledujúcim vzorcom v tabuľke =[@Column1]. V tomto prípade @ označuje, že vzorec by mal použiť implicitný prienik na načítanie hodnoty v rovnakom riadku z [Stĺpec1].  

Môžete odstrániť symbol @?

Často sa to dá. Závisí to od toho, čo vráti časť vzorca napravo od @:

  • Ak vráti jednu hodnotu (najbežnejší prípad), po odstránení znaku @ nenastane žiadna zmena.
  • Ak vráti rozsah alebo pole, po odstránení znaku @ dôjde k jeho presahovaniu do susedných buniek.

Ak odstránite automaticky pridaný znak @ a neskôr otvoríte zošit v staršej verzii Excelu, zobrazí sa ako starší vzorec poľa (zalomený zloženými zátvorkami {}), aby sa zabezpečilo, že staršia verzia nevyvolá implicitný prienik.

Kedy sa pridá @ do starých vzorcov?

Vo všeobecnosti platí, že funkciám, ktoré vrátia viacbunkové rozsahy alebo polia, sa začká predpona @, ak boli vytvorené v staršej verzii Excelu. Dôležité je poznamenať, že v spôsobe správania vzorca nedošlo k žiadnej zmene. Teraz môžete vidieť iba predtým neviditeľný implicitný prienik. Medzi bežné funkcie, ktoré môžu vrátiť viaceré rozsahy buniek, patria funkcie INDEX, OFFSET a funkcie definované používateľom.  Bežnou výnimkou sú situácie, ktoré sú zabalené do funkcie, ktorá akceptuje pole alebo rozsah (napr. SUM() alebo AVERAGE()). 

Ďalšie podrobnosti nájdete v téme Funkcie Excelu, ktoré vrátia rozsahy alebo polia .

Príklady

Pôvodný vzorec Ako v dynamickom poli Excel Vysvetlenie
=SUM(A1:A10) =SUM(A1:A10) Bez zmeny – nemohlo dôjsť k žiadnemu implicitnému prieniku, keďže funkcia SUM očakáva rozsahy alebo polia.
=A1+A2 =A1+A2 Žiadna zmena – nemohlo dôjsť k žiadnemu implicitnému prieniku.
=A1:A10 =@A1:A10 Dôjde k implicitnému prieniku a Excel vráti hodnotu priradenú k riadku, v ktorom sa vzorec nachádza.
=INDEX(A1:A10;B1) =@INDEX(A1:A10;B1) Môže dôjsť k implicitnému prieniku. Funkcia INDEX môže vrátiť pole alebo rozsah, ak má druhý alebo tretí argument hodnotu 0.
=OFFSET(A1:A2;1;1) =@OFFSET(A1:A2;1;1) Môže dôjsť k implicitnému prieniku. Funkcia OFFSET môže vrátiť rozsah viacerých buniek. Keď sa tak stane, spustí sa implicitný prienik.
=MYUDF() =@MYUDF() Môže dôjsť k implicitnému prieniku. Funkcie definované používateľom môžu vrátiť polia. V takom prípade by pôvodný vzorec spustil implicitný prienik.

Používanie operátora @ v nových vzorcoch

Ak vytvoríte alebo upravíte vzorec v programe Excel s dynamickým poľom, ktorý obsahuje operátor @, môže sa zobraziť ako _xlfn. SINGLE() v preddynamickom poli Excelu.

Toto sa vyskytuje, keď potvrdíte zmiešaný vzorec. Zmiešaný vzorec je vzorec, ktorý využíva výpočet poľa aj implicitný prienik, čo Excel pred vytvorením dynamického poľa nepodporoval. Preddynamické pole podporovalo iba vzorce, ktoré i) vykonávali implicitný prienik alebo ii) výpočet poľa.

Keď je povolené dynamické pole Excel zistí vytvorenie "zmiešaného vzorca", navrhne variáciu vzorca, ktorá bude implicitným prienikom v celom vzorci. Ak napríklad zadáte vstup =A1:A10+@A1:A10,, zobrazí sa nasledujúce dialógové okno:

Dialógové okno s otázkou, či uprednostníte radšej fromula =@A1:A10 + @A1:A10.

Ak sa rozhodnete odmietnuť vzorec navrhnutý v dialógovom okne, zmiešaný vzorec =A1:A10+@A1:A10 bude potvrdený. Ak tento vzorec neskôr otvoríte v Exceli s preddynamickým poľom, zobrazí sa ako =A1:A10+_xlfn.SINGLE(A1:A10) znak, v ktorom sa znakom @ v zmiešanom vzorci zobrazí ako _xlfn.SINGLE(). Pri vyhodnotení tohto vzorca v Exceli pred dynamickým poľom sa vráti #NAME! . 

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ž

FILTER (funkcia)

RANDARRAY (funkcia)

SEQUENCE (funkcia)

SORT (funkcia)

SORTBY (funkcia)

UNIQUE (funkcia)

Chyba #PRESAHOVANIE! v Exceli

Dynamické polia a správanie polí s presahujúcimi údajmi