User‎ > ‎

Ctrl+Maiusc+Invio (Ctrl+Shift+Enter)

La guida in linea di Excel è sicuramente lo strumento primo per chi vuole imparare ad usare le formule in forma di matrice. Consiglio di digitare semplicemente “matrici” nel Cerca della guida in linea e consultare gli argomenti risultanti dalla ricerca.

Le formule in forma di matrice sono uno strumento molto potente, spesso sottovalutato o addirittura ignorato da molti utenti.
Per altri, viceversa, le formule in forma di matrice diventano spesso campi di battaglia su cui sfidarsi a colpi di Ctrl+Maiusc+Invio. Questi utenti sono veri e propri appassionati, collezionisti di soluzioni estetiche, alla ricerca della formula più bella ... io sono uno di loro :-)

Come inserire una formula in forma di matrice

Le formule in forma di matrice si dividono in:
  • Formule che restituiscono un solo risultato
  • Formule che restituiscono una matrice di risultati

Formule che restituiscono un solo risultato

La formula va inserita nella cella che si desidera contenga il singolo risultato. Una volta digitata la formula è necessario confermare l’inserimento premendo la combinazione di tasti Ctrl+Maiusc+Invio (Ctrl+Shift+Enter).
Per ottenere la triplice combinazione dei tasti, tenere premuti Ctrl+Maiusc e successivamente mantenendoli premuti schiacciare Invio. Se l’inserimento è stato effettuato correttamente il focus rimarrà sulla stessa cella e nella barra della formula potrete vedere la formula delimitata da due parentesi graffe.
In alternativa se il focus cambia spostandosi in un’altra cella, riportarsi sulla cella, premere F2 (oppure fare doppio click) , e tentare nuovamente la combinazione Ctrl+Maiusc+Invio.
La presenza delle parentesi graffe è solo visiva e visibile solo nella barra della formula quando l’inserimento matriciale è andato a buon fine.
Le parentesi non vanno aggiunte digitandole.
Le formule possono essere trascinate nella stessa modalità con cui si trascina una formula normale.

Formule che restituiscono una matrice di risultati

Nel secondo caso la matrice di risultati ha bisogno di un intervallo di celle che la ospiti. Se digitata in una singola cella, restituirà sempre il primo elemento della matrice. Selezionare quindi un intervallo di celle correttamente dimensionato per ospitare tutti i risultati, digitare la formula e confermare l’inserimento premendo la combinazione di tasti Ctrl+Maiusc+Invio come illustrato in precedenza.
In alternativa inserire la formula nella cella in alto a sinistra di quello che sarà l’intervallo di destinazione dei risultati del calcolo matriciale, una volta che il focus si è spostato, selezionare l’intero intervallo correttamente dimensionato posizionarsi nella Barra della formula (oppure premere F2) e confermare l’inserimento premendo la combinazione di tasti Ctrl+Maiusc+Invio.
Se l’inserimento è andato a buon fine ogni cella dell’intervallo riporterà la stessa identica formula delimitata dalle parentesi graffe e ogni cella risulterà parte integrale di una matrice.
Una formula inserita in questo modo non può essere modificata se non previo selezione dell’intera matrice (o intervallo di celle). Diversamente un messaggio di errore (Impossibile modificare parte di una matrice) impedirà la modifica. Quindi posizionarsi nella prima cella in alto a sinistra, selezionare l’intero intervallo e dalla Barra della formula eseguire le dovute modifiche. Concludere con la combinazione di tasti Ctrl+Maiusc+Invio.
 
Può capitare che non si ricordi i limiti dell’intervallo che ospita una matrice. Per selezionare l’intero intervallo di celle che costituiscono la matrice è possibile posizionarsi su di una delle celle che ne fanno parte premere F5 (oppure menu Modifica-> Vai ... ) scegliere il pulsante Speciale, scegliere d'opzione Matrice corrente, premere Ok.
 
L’inserimento di una formula in forma di matrice è necessario quando desideriamo che gli intervalli vengano considerati come matrici ovvero quando vogliamo che i calcoli in essa contenuti vengano eseguiti su matrici piuttosto che su valori scalari. Alcune funzioni non necessitano di una conferma come descritta in quanto richiedono a prescindere delle Matrici come argomento ovvero per definizione eseguono un calcolo su matrici.
E’ il caso ad esempio delle funzioni FREQUENZA, CONFRONTA, MATR.PRODOTTO, CERCA.VERT, CERCA.ORIZZ, SOMMA.DIFF.Q., MATR.DETERM, MATR.SOMMA.PRODOTTO, MATR.TRASPOSTA, SOMMA.SOMMA.Q, MEDIA.GEOMETRICA, etc.
 
Talvolta le regole e i comportamenti che riguardano funzioni e matrici devono essere valutate caso per caso. La guida in linea spesso descrive a fondo queste differenze quindi in caso di dubbio sicuramente il primo passo è la sua consultazione.

Il debug delle formule

A chi vorrà studiare e utilizzare le formule matriciali in Excel consiglio come primo passo quello di Visualizzare la Barra della formula (menu Visualizza -> spuntare Barra della formula), vi aiuterà almeno in principio a inserire correttamente le formule oltre a consentire il calcolo parziale col tasto F9.
Uno strumento indispensabile è il Valuta formule (menu Strumenti-> Verifica formule -> Valuta formule) che consente di valutare passo a passo la formula, anche nidificata, contenuta in una cella.
 
Altro strumento è il Calcola (F9) sulla parte selezionata di una formula. A titolo di esempio e per intuirne il funzionamento digitate in una cella la formula:
=SOMMA(RIF.RIGA(1:10))
Posizionatevi nella barra della formula e selezionate RIF.RIGA(1:10)
visivamente dovete ottenere questo
=SOMMA(RIF.RIGA(1:10))
premete F9, il risultato visivamente sarà
=SOMMA({1\2\3\4\5\6\7\8\9\10})
In pratica viene restituita una matrice di costanti contenente tutti i valori della funzione calcolata come se fosse inserita matricialmente.
Premendo Invio il risultato calcolato verrà mantenuto trasformando la formula in:
=SOMMA({1\2\3\4\5\6\7\8\9\10})
Per annullare la modifica invece potete anziché confermare con Invio scegliere il tasto Esc.
 
Infine il già citato Modifica-> Vai ... -> Speciale-> Matrice corrente per selezionare l’intervallo della matrice da modificare.

Link:
Frederic LE GUEN MVP
Tool for Parsing Formulas in Excel


 
 
 
Comments