Operatorul implicit de intersecție a fost introdus ca parte a unui upgrade substanțial la limbajul de formule Excel pentru a accepta matrice dinamice. Matricele dinamice aduc o nouă capacitate și funcționalitate de calcul semnificative în Excel.
S-a făcut upgrade pentru limba formulei
Limba de formule pentru care s-a făcut upgrade în Excel este aproape identică cu limba veche, cu excepția faptului că utilizează operatorul @ pentru a indica unde poate apărea intersecția implicită, în timp ce limba veche a făcut acest lucru în mod silențios. Prin urmare, este posibil să observați că @s-a afișat în unele formule atunci când este deschis în Excel matrice dinamică. Este important să rețineți că formulele vor continua să calculeze la fel ca întotdeauna.
Ce este intersecția implicită?
Logica de intersecție implicită reduce multe valori la o singură valoare. Excel a făcut acest lucru pentru a impune ca o formulă să returneze o singură valoare, deoarece o celulă poate conține o singură valoare. Dacă formula returna o singură valoare, intersecția implicită nu a făcut nimic (chiar dacă, din punct de vedere tehnic, se efectua în fundal). Logica funcționează după cum urmează:
-
Dacă valoarea este un singur element, atunci returnați elementul.
-
Dacă valoarea este o zonă, atunci returnați valoarea din celula de pe același rând sau din aceeași coloană ca formula.
-
Dacă valoarea este o matrice, alegeți valoarea din stânga sus.
Odată cu apariția matricelor dinamice, Excel nu se mai limitează la returnarea valorilor unice din formule, astfel că intersecția implicită silențioasă nu mai este necesară. Unde o formulă veche ar putea declanșa în mod invizibil o intersecție implicită, Excel activat pentru matrice dinamică arată unde s-ar fi produs cu @.
De ce simbolul @?
Simbolul @ este deja utilizat în referințele de tabel pentru a indica intersecția implicită. Luați în considerare următoarea formulă dintr-un tabel =[@Column1]. Aici, @ indică faptul că formula trebuie să utilizeze intersecția implicită pentru a regăsi valoarea de pe același rând din [Coloana1].
Puteți elimina @?
De multe ori puteți. Depinde de partea formulei din partea dreaptă a @ returnează:
-
Dacă returnează o valoare unică (cel mai comun caz), nu va exista nicio modificare prin eliminarea @.
-
Dacă returnează o zonă sau o matrice, eliminarea @ va determina vărsareaacesteia în celulele învecinate.
Dacă eliminați un @ adăugat automat și deschideți ulterior registrul de lucru într-o versiune mai veche de Excel, acesta va apărea ca o formulă matrice moștenită (încadrată cu acolade {}), acest lucru se face pentru a vă asigura că versiunea mai veche nu va declanșa o intersecție implicită.
Când adăugăm @ la formulele vechi?
În general, funcțiile care returnează zone cu mai multe celule sau matrice vor fi prefixate cu @ dacă au fost create într-o versiune mai veche de Excel. Este important să rețineți că nu există nicio modificare a modului în care se comportă formula; puteți vedea acum intersecția implicită invizibilă anterior. Funcțiile comune care ar putea returna zone cu mai multe celule includ funcțiile INDEX, OFFSET și FUNCȚII DEFINITE de utilizator (UDF). O excepție comună este dacă sunt încadrate într-o funcție care acceptă o matrice sau o zonă (de exemplu, SUM() sau AVERAGE()).
Consultați Funcțiile Excel care returnează zone sau matrice pentru mai multe detalii.
Exemple
Formulă originală |
Așa cum se vede în matricea dinamică Excel |
Explicație |
---|---|---|
=SUM(A1:A10) |
=SUM(A1:A10) |
Nicio modificare - Nu s-a putut produce nicio intersecție implicită, deoarece funcția SUM așteaptă zone sau matrice. |
=A1+A2 |
=A1+A2 |
Nicio modificare - Nu s-a putut produce nicio intersecție implicită. |
=A1:A10 |
=@A1:A10 |
Intersecția implicită va avea loc și Excel va returna valoarea asociată cu rândul în care se află formula. |
=INDEX(A1:A10;B1) |
=@INDEX(A1:A10;B1) |
Intersecția implicită poate apărea. Funcția INDEX poate returna o matrice sau o zonă atunci când al doilea sau al treilea argument este 0. |
=OFFSET(A1:A2;1;1) |
=@OFFSET(A1:A2;1;1) |
Intersecția implicită poate apărea. Funcția OFFSET poate returna o zonă cu mai multe celule. Atunci când se întâmplă acest lucru, s-ar declanșa o intersecție implicită. |
=MYUDF() |
=@MYUDF() |
Intersecția implicită poate apărea. Funcțiile definite de utilizator pot returna matrice. Când o fac, formula originală ar fi declanșat o intersecție implicită. |
Utilizarea operatorului @ în formule noi
Dacă creați sau editați o formulă în matrice dinamică Excel care conține operatorul @, aceasta poate apărea ca _xlfn. SINGLE() în excel matrice pre-dinamică.
Acest lucru se întâmplă atunci când comiteți o formulă mixtă. O formulă mixtă este o formulă care se bazează atât pe calculul matricei, cât și pe intersecția implicită, care nu a fost acceptată de Excel matrice pre-dinamică. Matricea pre-dinamică acceptă doar formulele care au făcut i) intersecția implicită sau ii) calculul matricei în tot.
Când matricea dinamică este activată, Excel detectează crearea unei "formule mixte", va propune o variație a formulei care se intersectează implicit în tot. De exemplu, dacă introduceți =A1:A10+@A1:A10, veți vedea următoarea casetă de dialog:
Dacă ați ales să respingeți formula propusă de caseta de dialog, se va valida formula mixtă =A1:A10+@A1:A10 . Dacă deschideți mai târziu această formulă în matricea pre-dinamică Excel, aceasta va apărea ca =A1:A10+_xlfn. SINGLE(A1:A10) cu valorile @s în formula mixtă apărând ca _xlfn. SINGLE(). Când această formulă este evaluată de matricea pre-dinamică Excel, va returna o #NAME! .
Aveți nevoie de ajutor suplimentar?
Puteți oricând să întrebați un expert din Comunitatea tehnică Excel sau să obțineți asistență în Comunități.