Microsoft ha introdotto l'operatore di intersezione implicita come parte di un sostanziale aggiornamento al linguaggio delle formule di Excel per supportare le matrici dinamiche. Le matrici dinamiche introducono nuove significative capacità e funzionalità di calcolo in Excel.
Linguaggio delle formule aggiornato
Il linguaggio delle formule aggiornato di Excel è quasi identico al precedente, con la differenza che sfrutta l'operatore @ per indicare dove potrebbe verificarsi l'intersezione implicita, mentre il linguaggio precedente lo faceva in modo invisibile. Di conseguenza, si noterà la presenza di @ in alcune formule quando vengono aperte in una versione di Excel con la matrice dinamica. Le formule continuano a calcolare con lo stesso metodo di sempre.
Che cos'è l'intersezione implicita?
La logica di intersezione implicita riduce molti valori a un singolo valore. In questo modo, Excel ha forzato una formula a restituire un singolo valore, poiché una cella potrebbe contenere solo un unico valore. Se la formula restituiva un singolo valore, l'intersezione implicita non portava ad alcun risultato, anche se tecnicamente era stata eseguita in background. La logica opera come segue:
- Se il valore è un singolo elemento, restituisce l'elemento.
- Se il valore è un intervallo, restituisce il valore dalla cella nella stessa riga o colonna della formula.
- Se il valore è una matrice, si seleziona il valore in alto a sinistra.
Con l'arrivo delle matrici dinamiche, Excel non si limita più a restituire singoli valori dalle formule, quindi non è più necessaria un'intersezione implicita invisibile. Quando una formula precedente potrebbe invisibilmente attivare un'intersezione implicita, con l'abilitazione della matrice dinamica, Excel mostra dove questa si sarebbe verificata con @.
Perché il simbolo @?
Il simbolo @ è già usato nei riferimenti di tabella per indicare un'intersezione implicita. Si consideri la formula seguente in una tabella =[@Column1]. @ indica che la formula utilizza un'intersezione implicita per recuperare il valore nella medesima riga da [Column1].
È possibile rimuovere il simbolo @?
Spesso è possibile. Dipende dalla parte della formula a destra dei risultati di @:
- Se restituisce un singolo valore (il caso più comune), non viene apportata alcuna modifica quando si rimuove @.
- Se restituisce un intervallo o una matrice, rimuovendo @ ne viene eseguita la distribuzione alle celle adiacenti.
Se si rimuove un @ aggiunto automaticamente e in seguito si apre la cartella di lavoro in una versione precedente di Excel, viene visualizzata come formula di matrice legacy (racchiusa tra parentesi {}graffe). Questo comportamento garantisce che la versione precedente non attivi un'intersezione implicita.
Quando si aggiunge il carattere @ alle formule precedenti?
In genere, le funzioni che restituiscono intervalli o matrici a celle multiple hanno un prefisso @ se sono state create in una versione precedente di Excel. Non è prevista alcuna modifica al comportamento della formula, solo che adesso si può vedere l'intersezione implicita, che in precedenza era invisibile. Le funzioni comuni che restituiscono intervalli a celle multiple includono INDICE, OFFSET e Funzioni definite dall'utente (UDF). Un'eccezione comune è il fatto che il ritorno a capo viene eseguito in una funzione che accetta una matrice o un intervallo, ad esempio SOMMA() o MEDIA().
Per informazioni dettagliate, vedere le funzioni di Excel che restituiscono intervalli o matrici.
Esempi
| Formula originale | Come visto in Excel con matrice dinamica | Spiegazione |
|---|---|---|
| =SOMMA(A1:A10) | =SOMMA(A1:A10) | Nessuna modifica: non è possibile verificare nessuna intersezione implicita, poiché la funzione SOMMA prevede intervalli o matrici. |
| =A1+A2 | =A1+A2 | Nessuna modifica: non è possibile nessuna intersezione implicita. |
| =A1:A10 | =@A1:A10 | Si verifica un'intersezione implicita ed Excel restituisce il valore associato alla riga in cui si trova la formula. |
| =INDICE(A1:A10;B1) | =@INDICE(A1:A10;B1) | Può verificarsi un'intersezione implicita. La funzione INDICE può restituire una matrice o un intervallo quando il secondo o il terzo argomento è 0. |
| =OFFSET(A1:A2,1,1) | =@OFFSET(A1:A2;1;1) | Può verificarsi un'intersezione implicita. La funzione SCARTO restituisce un intervallo a celle multiple. Quando lo fa, attiva un'intersezione implicita. |
| =MYUDF() | =@MYUDF() | Può verificarsi un'intersezione implicita. Creare funzioni personalizzate in Excel può restituire matrici. In questo caso, la formula originale attiva un'intersezione implicita. |
Uso dell'operatore @ nelle nuove formule
Se si crea o si modifica una formula in un Excel con matrice dinamica che contiene l'operatore @, potrebbe sembrare _xlfn. SINGLE() nella versione di Excel precedente alla matrice dinamica.
Questo comportamento si verifica quando si esegue il commit di una formula mista. Una formula mista è una formula che si basa sul calcolo della matrice e sull'intersezione implicita. Excel precedente alla matrice dinamica non supporta questa combinazione. Prima della matrice dinamica, Excel supporta solo formule che eseguono i) un'intersezione implicita o ii) il calcolo della matrice.
Quando la versione di Excel precedente con le matrici dinamiche abilitate rileva la creazione di una formula mista, propone una variante della formula che usa l'intersezione implicita. Ad esempio, se si immette =A1:A10+@A1:A10, viene visualizzata la finestra di dialogo seguente:
Se si sceglie di rifiutare la formula proposta dalla finestra di dialogo, viene eseguito il commit della formula =A1:A10+@A1:A10 mista. Se in seguito si apre questa formula nella versione di Excel che precede la matrice dinamica, l'aspetto è simile =A1:A10+_xlfn.SINGLE(A1:A10) agli operatori @ nella formula mista che appaiono come _xlfn.SINGLE(). Quando la formula viene valutata dalla versione di valutazione della pre-matrice dinamica, viene restituito un errore #NAME! .
Servono altre informazioni?
È sempre possibile rivolgersi a un esperto della Tech Community di Excel o ottenere supporto nelle Community.
Vedere anche
Funzione FILTRO
Funzione MATR.CASUALE
Funzione SEQUENCE
Funzione SORT
Matrici dinamiche e il comportamento di matrice espansa