Potete evitare completamente la funzione di riempimento automatico con le formule di matrice. Basta inserire la formula come al solito ma aggiungendo :column
alla fine di ogni riferimento di cella e poi premere Ctrl+Shift+Enter. La formula verrà quindi applicata immediatamente a tutte le celle della colonna senza trascinare nulla
Modifica:
Le versioni più recenti di Excel utilizzano automaticamente le formule di matrice per riempire verso il basso quando c'è una nuova riga di dati
A partire dall'aggiornamento di settembre 2018 per Office 365, qualsiasi formula che può restituire più risultati li riverserà automaticamente verso il basso, o attraverso nelle celle vicine. Questo cambiamento di comportamento è anche accompagnato da diverse nuove funzioni di array dinamico. Le formule di matrice dinamica, sia che utilizzino funzioni esistenti o le funzioni di matrice dinamica, hanno solo bisogno di essere inserite in una singola cella, quindi confermate premendo Invio. In precedenza, le formule di matrice legacy richiedevano prima la selezione dell'intero intervallo di output, poi la conferma della formula con Ctrl+Shift+Enter. Sono comunemente chiamate formule CSE.
Linee guida ed esempi di formule di matrice
Se sei su una vecchia versione di Excel o vuoi saperne di più sulle formule di matrice allora continua a leggere
Per esempio mettere =B3:B + 2*C3:C
in D3 e Ctrl+Shift+Enter è equivalente a digitare =B3 + 2*C3
e trascinare fino in fondo in una tabella partendo dalla riga 3
È veloce da scrivere, ma ha lo svantaggio che le celle inutilizzate alla fine (fuori dalla tabella corrente) sono ancora calcolate e mostrano 0. C'è un modo semplice per nascondere gli 0 . Tuttavia il modo ancora migliore è quello di limitare il calcolo all'ultima colonna della tabella. Sapendo che in una formula di matrice si può usare X3:X101
per applicare solo alle celle da X3 a X101 possiamo usare la funzione INDIRECT
per ottenere lo stesso effetto
- Inserisci
=LOOKUP(2, 1/(A:A <> ""), A:A)
in qualche cella fuori dalla tabella per trovare l’ultima cella non vuota nella tabella e chiamala LastRow
. In alternativa usa =COUNTA(A3:A) + 2
quando la prima riga della tabella è 3
- Allora invece di
B3:B
usa =INDIRECT("B3:B" & LastRow)
Per esempio se vuoi che le celle nella colonna D contengano i prodotti delle celle in B e C, e la colonna E contenga le somme di B e C, invece di usare D3 = B3*C3
e E3 = B3 + C3
e trascinare giù basta mettere le formule seguenti in D3 e E3 rispettivamente e premere Ctrl+Shift+Enter
=INDIRECT("B3:B" & LastRow) * INDIRECT("C3:C" & LastRow)
=INDIRECT("B3:B" & LastRow) + INDIRECT("C3:C" & LastRow)
D'ora in poi ogni volta che aggiungete dati a una nuova riga, la tabella sarà automaticamente aggiornata
Array formula è molto veloce poiché il modello di accesso ai dati è già noto. Ora invece di fare 100001 calcoli diversi separatamente, possono essere vettorizzati e fatti in parallelo , utilizzando più core e unità SIMD nella CPU. Ha anche i seguenti vantaggi:
- Consistenza: Se si clicca su una qualsiasi cella da E2 in giù, si vede la stessa formula. Questa coerenza può aiutare a garantire una maggiore precisione.
- Sicurezza: Non puoi sovrascrivere un componente di una formula di una matrice a più celle. Per esempio, clicca sulla cella E3 e premi Cancella. Dovete selezionare l'intero intervallo di celle (da E2 a E11) e cambiare la formula per l'intera matrice, oppure lasciare la matrice così com'è. Come ulteriore misura di sicurezza, devi premere Ctrl+Shift+Enter per confermare la modifica della formula.
- Dimensioni file più piccole: Spesso potete usare una sola formula di matrice invece di diverse formule intermedie. Per esempio, la cartella di lavoro usa una formula di matrice per calcolare i risultati nella colonna E. Se aveste usato formule standard (come
=C2*D2
, C3*D3
, C4*D4
…), avreste usato 11 formule diverse per calcolare gli stessi risultati.
Linee guida ed esempi di formule di matrice
Per maggiori informazioni leggete