Operátor implicitního průniku byl zaveden jako součást podstatného upgradu jazyka vzorců v Excelu pro podporu dynamických polí. Dynamické matice přinášejí do Excelu významné nové možnosti a funkce pro výpočty.
Upgradovaný jazyk vzorců
Upgradovaný jazyk vzorců v Excelu je prakticky identický se starým jazykem, s tím rozdílem, že používá operátor @ k označení, kde může dojít k implicitnímu průniku, zatímco starý jazyk to dělal potichu. V důsledku toho si můžete všimnout @'s appear in some formulas when opened in dynamic array Excel. It', že je důležité si uvědomit, že vzorce se budou dál počítat stejným způsobem jako doposud.
Co je implicitní průnik?
Logika implicitního průniku redukuje mnoho hodnot na jednu hodnotu. Excel to udělal proto, aby vzorec vrátil jedinou hodnotu, protože buňka mohla obsahovat jenom jednu hodnotu. Pokud vzorec vracel jedinou hodnotu, pak implicitní průnik neudělal nic (i když technicky probíhal na pozadí). Logika funguje následovně:
- Pokud je hodnota jedna položka, vrátí položku.
- Pokud je hodnota rozsah, vrátí hodnotu z buňky ve stejném řádku nebo sloupci jako vzorec.
- Pokud je hodnota matice, vyberte hodnotu vlevo nahoře.
S příchodem dynamických polí se Excel už nemusí omezovat na vracení jednotlivých hodnot ze vzorců, takže tichý implicitní průnik už není nutný. Tam, kde by starý vzorec mohl neviditelně vyvolat implicitní průnik, Excel s podporou dynamických polí zobrazí, kde by k němu došlo s @.
Proč právě symbol @?
Symbol @ se už používá v odkazech na tabulky k označení implicitního průniku. Podívejte se na následující vzorec v tabulce =[@Column1]. Znak @ v tomto případě znamená, že by vzorec měl použít implicitní průnik k načtení hodnoty na stejném řádku ze sloupce [Sloupec1].
Můžete odebrat znak @?
Často je to možné. Závisí na tom, co vrátí část vzorce napravo od @:
- Pokud vrací jedinou hodnotu (nejčastější případ), odebrání znaku @ se nezmění.
- Pokud vrátí oblast nebo matici, odebrání znaku @ způsobí, že se rozšíří do sousedních buněk.
Pokud automaticky přidaný znak @ odeberete a později sešit otevřete ve starší verzi Excelu, zobrazí se jako starší maticový vzorec (zabalený do složených závorek {}), aby se zajistilo, že starší verze nespustí implicitní průnik.
Kdy přidáme @ do starých vzorců?
Obecně řečeno, funkce, které vracejí vícebuňkové oblasti nebo matice, budou mít předponu @, pokud byly vytvořeny ve starší verzi Excelu. Je důležité si uvědomit, že chování vzorce se nijak nemění – teď vidíte jenom dříve neviditelný implicitní průsečík. Mezi běžné funkce, které můžou vrátit vícebuňkové oblasti, patří INDEX, OFFSET a uživatelem definované funkce (UDF). Běžnou výjimkou je, pokud jsou zabaleny do funkce, která přijímá pole nebo oblast (například SUM() nebo AVERAGE()).
Další podrobnosti najdete v tématu Excelové funkce, které vracejí oblasti nebo matice .
Příklady
| Původní vzorec | Jak je vidět v Excelu s dynamickým polem | Vysvětlení |
|---|---|---|
| =SUMA(A1:A10) | =SUMA(A1:A10) | Beze změny – Nemůže dojít k žádnému implicitnímu průniku, protože funkce SUMA očekává rozsahy nebo pole. |
| =A1+A2 | =A1+A2 | Žádná změna – Nemůže dojít k žádnému implicitnímu průniku. |
| =A1:A10 | =@A1:A10 | Dojde k implicitnímu průniku a Excel vrátí hodnotu přidruženou k řádku, ve kterém se vzorec nachází. |
| =INDEX(A1:A10;B1) | =@INDEX(A1:A10,B1) | Může dojít k implicitnímu průniku. Funkce INDEX může vrátit matici nebo oblast, pokud je její druhý nebo třetí argument 0. |
| =POSUN(A1:A2;1;1) | =@OFFSET(A1:A2;1;1) | Může dojít k implicitnímu průniku. Funkce POSUN může vrátit vícebuňkovou oblast. Když se tak stane, implicitní průnik by se aktivoval. |
| =MYUDF() | =@MYUDF() | Může dojít k implicitnímu průniku. Funkce definované uživatelem mohou vracet pole. V takovém případě by původní vzorec aktivoval implicitní průnik. |
Použití operátoru @ v nových vzorcích
Pokud v Excelu vytvoříte nebo upravíte vzorec, který obsahuje operátor @, může se zobrazit jako _xlfn. SINGLE() v Excelu před dynamickým polem
K tomu dochází při potvrzení smíšeného vzorce. Smíšený vzorec je vzorec, který spoléhá na výpočet matice i na implicitní průnik. Tato funkce nebyla v aplikaci Excel před dynamickým polem podporována. Předdynamická matice podporovala pouze vzorce, které prováděly i) implicitní průnik nebo ii) výpočet matice v celém rozsahu.
Pokud je povolená dynamická matice, Excel rozpozná vytvoření "smíšeného vzorce", navrhne variantu vzorce, která se implicitně protíná. Pokud =A1:A10+@A1:A10,zadáte například, zobrazí se následující dialog:
Pokud se rozhodnete odmítnout vzorec navržený dialogovým oknem, smíšený vzorec =A1:A10+@A1:A10 se potvrdí. Pokud později tento vzorec otevřete v Excelu s predynamickým polem, zobrazí se jako =A1:A10+_xlfn.SINGLE(A1:A10) se znaky @ ve smíšeném vzorci, které se zobrazí jako _xlfn.SINGLE(). Když tento vzorec vyhodnotí predynamická matice, Excel vrátí #NAME! která označuje chybu.
Potřebujete další pomoc?
Kdykoli se můžete zeptat odborníka z technické komunity Excelu nebo získat podporu v komunitách.