Spoločnosť Microsoft zaviedla operátor implicitného prieniku 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. V dôsledku toho si môžete všimnúť, že sa v niektorých vzorcoch po otvorení v Exceli s dynamickým poľom zobrazujú znaky @. Vzorce budú 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 vrátil jednu hodnotu, implicitný prienik nič neurobil (hoci sa technicky dial na pozadí). Logika funguje takto:
- Ak je hodnota jedna položka, vráť položku.
- Ak je hodnotou rozsah, vráti sa hodnota z bunky v rovnakom riadku alebo stĺpci ako 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]. @ označuje, že vzorec používa implicitný prienik na načítanie hodnoty v rovnakom riadku z tabuľky [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 (najčastejší 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ý symbol @ 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 {}). Toto správanie zabezpečí, že staršia verzia nespustí implicitný prienik.
Kedy sa pridá @ do starých vzorcov?
Vo všeobecnosti platí, že funkcie, ktoré vrátia rozsahy s viacerými bunkami alebo polia, majú predponu @, ak ste ich vytvorili v staršej verzii Excelu. Spôsob správania vzorca sa nemení. Teraz môžete vidieť iba predtým neviditeľný implicitný prienik. Medzi bežné funkcie, ktoré vrátia rozsahy viacerých buniek, patria funkcie INDEX, OFFSET a funkcie definované používateľom. Bežnou výnimkou sú prípady, keď sú zabalené do funkcie, ktorá akceptuje pole alebo rozsah (napríklad 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) | Žiadna zmena – keďže funkcia SUM očakáva rozsahy alebo polia, nemôže sa vyskytnúť žiadny implicitný prienik. |
| =A1+A2 | =A1+A2 | Žiadna zmena – nemôže dôjsť k žiadnemu implicitnému prieniku. |
| =A1:A10 | =@A1:A10 | Dochádza 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. Vytvorenie vlastných funkcií v Exceli môže vrátiť polia. Keď sa tak stane, pôvodný vzorec spustí implicitný prienik. |
Používanie operátora @ v nových vzorcoch
Ak vytvoríte alebo upravíte vzorec v dynamickom poli Excelu, ktorý obsahuje operátor @, môže sa zobraziť ako _xlfn. SINGLE() v preddynamickom poli Excelu.
Toto správanie sa vyskytuje, keď potvrdíte zmiešaný vzorec. Zmiešaný vzorec je vzorec, ktorý využíva výpočet poľa aj implicitný prienik. Preddynamické pole Excel túto kombináciu nepodporuje. Preddynamické pole Excel podporuje len vzorce, ktoré i) implicitný prienik alebo ii) výpočet poľa v celom rozsahu.
Keď je povolené dynamické pole, Excel zistí vytvorenie zmiešaného vzorca a navrhne variáciu vzorca, ktorá používa implicitný prienik. Ak napríklad zadáte vstup =A1:A10+@A1:A10, , zobrazí sa nasledujúce dialógové okno:
Ak sa rozhodnete vzorec navrhnutý v dialógovom okne odmietnuť, zmiešaný vzorec =A1:A10+@A1:A10 sa potvrďuje. Ak tento vzorec neskôr otvoríte v Exceli s preddynamickým poľom, zobrazí sa ako =A1:A10+_xlfn.SINGLE(A1:A10) v zmiešanom vzorci _xlfn.SINGLE(). ako operátory @ Keď Excel pred dynamickým poľom vyhodnotí tento vzorec, 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.