Formule e funzioni di array in Excel - esempi e linee guida

  • Condividi Questo
Michael Brown

In questa esercitazione imparerete che cos'è una formula di array di Excel, come inserirla correttamente nei vostri fogli di lavoro e come utilizzare le costanti di array e le funzioni di array.

Le formule di matrice in Excel sono uno strumento estremamente potente e uno dei più difficili da padroneggiare. Una singola formula di matrice può eseguire più calcoli e sostituire migliaia di formule abituali. Eppure, il 90% degli utenti non ha mai utilizzato le funzioni di matrice nei propri fogli di lavoro semplicemente perché ha paura di iniziare a impararle.

In effetti, le formule degli array sono una delle funzioni di Excel più confuse da imparare. Lo scopo di questa esercitazione è quello di rendere la curva di apprendimento il più semplice e scorrevole possibile.

    Che cos'è una matrice in Excel?

    Prima di iniziare con le funzioni e le formule per gli array, cerchiamo di capire cosa significa il termine "array". Essenzialmente, un array è un insieme di elementi, che possono essere testi o numeri e che possono risiedere in una singola riga o colonna, oppure in più righe e colonne.

    Ad esempio, se si inserisce la lista della spesa settimanale in un formato array di Excel, si otterrà la seguente immagine:

    {Latte, Uova, Burro, Fiocchi di mais.}

    Quindi, se si selezionano le celle da A1 a D1, si inserisce la matrice di cui sopra preceduta da un segno di uguale (=) nella barra delle formule e si preme CTRL + MAIUSC + INVIO, si otterrà il seguente risultato:

    Quello che si è appena fatto è creare un array orizzontale monodimensionale. Niente di terribile finora, giusto?

    Che cos'è una formula di array in Excel?

    La differenza tra una formula di matrice e una formula normale è che una formula di matrice elabora più valori invece di uno solo. In altre parole, una formula di matrice in Excel valuta tutti i singoli valori di una matrice ed esegue più calcoli su uno o più elementi in base alle condizioni espresse nella formula.

    Una formula di matrice non solo può trattare più valori contemporaneamente, ma può anche restituire più valori alla volta. Pertanto, i risultati restituiti da una formula di matrice sono anch'essi una matrice.

    Le formule della matrice sono disponibili in tutte le versioni di Excel 2019, Excel 2016, Excel 2013, Excel 2010, Excel 2007 e inferiori.

    Ora sembra essere il momento giusto per creare la vostra prima formula di array.

    Semplice esempio di formula di array in Excel

    Supponiamo di avere alcuni articoli nella colonna B, i loro prezzi nella colonna C e di voler calcolare il totale complessivo di tutte le vendite.

    Naturalmente, nulla impedisce di calcolare prima i totali parziali di ogni riga con qualcosa di semplice come =B2*C2 e poi sommare questi valori:

    Tuttavia, una formula di matrice può farvi risparmiare quei tasti in più, poiché fa sì che Excel memorizzi i risultati intermedi in memoria anziché in una colonna aggiuntiva. Quindi, tutto ciò che serve è una singola formula di matrice e due rapidi passaggi:

    1. Selezionate una cella vuota e inseriteci la seguente formula:

      =SOMMA(B2:B6*C2:C6)

    2. Premere la scorciatoia da tastiera CTRL + MAIUSC + INVIO per completare la formula della matrice.

      Una volta eseguita questa operazione, Microsoft Excel circonda la formula con delle parentesi graffe, che indicano visivamente che si tratta di una formula di matrice.

      La formula moltiplica i valori di ogni singola riga della matrice specificata (celle da B2 a C6), somma i totali parziali e produce il totale generale:

    Questo semplice esempio mostra quanto possa essere potente una formula di matrice: quando si lavora con centinaia e migliaia di righe di dati, si pensi a quanto tempo si può risparmiare inserendo una formula di matrice in una sola cella.

    Perché usare le formule di array in Excel?

    Le formule di matrice di Excel sono lo strumento più pratico per eseguire calcoli sofisticati e compiti complessi. Una singola formula di matrice può sostituire letteralmente centinaia di formule abituali. Le formule di matrice sono molto utili per compiti quali:

    • Somma numeri che soddisfano determinate condizioni, ad esempio somma N valori più grandi o più piccoli in un intervallo.
    • Somma ogni altra riga, oppure ogni N righe o colonne, come dimostrato in questo esempio.
    • Conta il numero di tutti o di alcuni caratteri in un intervallo specificato. Ecco una formula di array che conta tutti i caratteri e un'altra che conta qualsiasi carattere.

    Come inserire la formula di una matrice in Excel (Ctrl + Maiusc + Invio)

    Come già sapete, la combinazione dei 3 tasti CTRL + MAIUSC + INVIO è un tocco magico che trasforma una formula normale in una formula di array.

    Quando si inserisce una formula di matrice in Excel, ci sono 4 cose importanti da tenere a mente:

    1. Una volta terminata la digitazione della formula e premuti contemporaneamente i tasti CTRL MAIUSC INVIO, Excel racchiude automaticamente la formula tra le parentesi graffe. Quando si selezionano tali celle, le parentesi graffe vengono visualizzate nella barra della formula, il che indica che si tratta di una formula di matrice.
    2. Non è possibile digitare manualmente le parentesi graffe intorno a una formula, ma è necessario premere la scorciatoia Ctrl+Maiusc+Invio per completare una formula di matrice.
    3. Ogni volta che si modifica una formula di matrice, le parentesi graffe scompaiono e bisogna premere nuovamente Ctrl+Maiusc+Invio per salvare le modifiche.
    4. Se si dimentica di premere Ctrl+Maiusc+Invio, la formula si comporterà come una formula normale ed elaborerà solo il primo o i primi valori della o delle matrici specificate.

    Poiché tutte le formule di matrice di Excel richiedono la pressione di Ctrl + Maiusc + Invio, a volte vengono chiamate Formule CSE .

    Usare il tasto F9 per valutare porzioni di una formula di matrice

    Quando si lavora con le formule di matrice in Excel, è possibile osservare come queste calcolano e memorizzano i loro elementi (matrici interne) per visualizzare il risultato finale che si vede in una cella. A tale scopo, selezionare uno o più argomenti all'interno delle parentesi di una funzione, quindi premere il tasto F9. Per uscire dalla modalità di valutazione della formula, premere il tasto Esc.

    Nell'esempio precedente, per visualizzare i totali parziali di tutti i prodotti, si seleziona B2:B6*C2:C6, si preme F9 e si ottiene il seguente risultato.

    Nota: è necessario selezionare una parte della formula prima di premere F9, altrimenti il tasto F9 sostituirà semplicemente la formula con i valori calcolati.

    Formule di array a una e più celle in Excel

    Una formula di matrice di Excel può restituire un risultato in una singola cella o in più celle. Una formula di matrice inserita in un intervallo di celle è detta formula di matrice formula multicella Una formula di matrice che risiede in una singola cella è chiamata formula di matrice. formula monocellulare .

    Esistono alcune funzioni di array di Excel progettate per restituire array a più celle, ad esempio TRANSPOSE, TREND, FREQUENCY, LINEST, ecc.

    Altre funzioni, come SOMMA, MEDIA, AGGREGATO, MAX, MIN, possono calcolare espressioni di matrice quando vengono inserite in una singola cella utilizzando Ctrl + Maiusc + Invio .

    Gli esempi seguenti mostrano come utilizzare una formula di matrice a una o più celle.

    Esempio 1. Formula di una matrice monocellulare

    Supponiamo di avere due colonne che elencano il numero di articoli venduti in due mesi diversi, ad esempio le colonne B e C, e di voler trovare il massimo incremento delle vendite.

    Normalmente, si dovrebbe aggiungere una colonna aggiuntiva, ad esempio la colonna D, che calcola la variazione delle vendite per ogni prodotto utilizzando una formula del tipo =C2-B2 e quindi trovare il valore massimo in quella colonna aggiuntiva =MAX(D:D) .

    Una formula di matrice non ha bisogno di una colonna aggiuntiva, poiché memorizza perfettamente i risultati intermedi. Quindi, basta inserire la formula seguente e premere Ctrl + Shift + Invio :

    =MAX(C2:C6-B2:B6)

    Esempio 2. Una formula di matrice multicella in Excel

    Nell'esempio precedente, supponiamo di dover pagare il 10% di tasse per ogni vendita e di voler calcolare l'importo delle tasse per ogni prodotto con una formula.

    Selezionate l'intervallo di celle vuote, ad esempio D2:D6, e inserite la seguente formula nella barra della formula:

    =B2:B6 * C2:C6 * 0,1

    Una volta premuti Ctrl + Shift + Invio, Excel inserirà un'istanza della formula della matrice in ogni cella dell'intervallo selezionato e otterrà il seguente risultato:

    Esempio 3. Utilizzo di una funzione array di Excel per restituire una matrice a più celle

    Come già accennato, Microsoft Excel mette a disposizione alcune cosiddette "funzioni di matrice", progettate appositamente per lavorare con matrici a più celle. TRASPOSTA è una di queste funzioni e la utilizzeremo per trasporre la tabella precedente, cioè per convertire le righe in colonne.

    1. Selezionate un intervallo vuoto di celle in cui volete produrre la tabella trasposta. Poiché stiamo convertendo le righe in colonne, assicuratevi di selezionare lo stesso numero di righe e colonne che la vostra tabella di origine ha rispettivamente. In questo esempio, stiamo selezionando 6 colonne e 4 righe.
    2. Premere F2 per accedere alla modalità di modifica.
    3. Inserite la formula e premete Ctrl + Shift + Invio .

    Nel nostro esempio, la formula è:

    =TRANSPOSE($A$1:$D$6)

    Il risultato sarà simile a questo:

    Questo è il modo in cui si utilizza TRANSPOSE come formula di matrice CSE in Excel 2019 e versioni precedenti. In Dynamic Array Excel, questa formula funziona anche come formula normale. Per conoscere altri modi di trasporre in Excel, consultate questa esercitazione: Come scambiare colonne e righe in Excel.

    Come lavorare con le formule di matrice multicella

    Quando si lavora con le formule di matrice a più celle in Excel, assicurarsi di seguire queste regole per ottenere i risultati corretti:

    1. Selezionare l'intervallo di celle in cui si desidera visualizzare i risultati. prima inserire la formula.
    2. A cancellare una formula di matrice a più celle, selezionare tutte le celle che la contengono e premere CANC , oppure selezionare l'intera formula nella barra della formula, premere CANC , quindi premere Ctrl + Shift + Invio .
    3. Non è possibile modificare o spostare il contenuto di una singola cella in una formula di matrice, né inserire nuove celle o eliminare quelle esistenti da una formula di matrice a più celle. Ogni volta che si tenta di farlo, Microsoft Excel lancia l'avviso " Non è possibile modificare una parte di una matrice ".
    4. A strizzacervelli una formula di matrice, cioè per applicarla a un numero inferiore di celle, è necessario prima eliminare la formula esistente e poi inserirne una nuova.
    5. A espandere una formula di matrice, cioè applicarla a più celle, selezionate tutte le celle che contengono la formula corrente e le celle vuote in cui desiderate averla, premete F2 per passare alla modalità di modifica, regolate i riferimenti nella formula e premete Ctrl + Maiusc + Invio per aggiornarla.
    6. Non è possibile utilizzare formule di matrice a più celle nelle tabelle di Excel.
    7. È necessario inserire una formula di matrice a più celle in un intervallo di celle della stessa dimensione della matrice risultante restituita dalla formula. Se la formula di matrice di Excel produce una matrice più grande dell'intervallo selezionato, i valori in eccesso non appariranno sul foglio di lavoro. Se la matrice restituita dalla formula è più piccola dell'intervallo selezionato, gli errori #N/A appariranno nelle celle in più.

    Se la formula può restituire una matrice con un numero variabile di elementi, inserirla in un intervallo pari o superiore alla matrice massima restituita dalla formula e avvolgere la formula nella funzione IFERROR, come mostrato in questo esempio.

    Costanti di array di Excel

    In Microsoft Excel, una costante di matrice è semplicemente un insieme di valori statici che non cambiano mai quando si copia una formula in altre celle o valori.

    All'inizio di questa guida abbiamo già visto un esempio di array costante creato a partire da una lista della spesa. Ora vediamo quali altri tipi di array esistono e come si creano.

    Esistono 3 tipi di costanti di array:

    1. Costante di schieramento orizzontale

    Una costante di matrice orizzontale risiede in una riga. Per creare una costante di matrice di riga, digitare i valori separati da virgole e racchiuderli tra parentesi graffe, ad esempio {1,2,3,4}.

    Nota: quando si crea una costante di array, è necessario digitare manualmente le parentesi graffe di apertura e di chiusura.

    Per inserire una matrice orizzontale in un foglio di calcolo, selezionare il numero corrispondente di celle vuote in una riga, digitare la formula ={1,2,3,4} nella barra della formula e premere Ctrl + Maiusc + Invio. Il risultato sarà simile a questo:

    Come si vede nella schermata, Excel avvolge una costante di matrice in un'altra serie di parentesi graffe, esattamente come fa quando si inserisce una formula di matrice.

    2. Costante di schieramento verticale

    Una costante di matrice verticale risiede in una colonna. Si crea nello stesso modo di una matrice orizzontale, con l'unica differenza che si delimitano gli elementi con il punto e virgola, ad esempio:

    ={11; 22; 33; 44}

    3. Costante della matrice bidimensionale

    Per creare una matrice bidimensionale, si separa ogni riga con un punto e virgola e ogni colonna di dati con una virgola.

    ={"a", "b", "c"; 1, 2, 3}

    Lavorare con le costanti di array di Excel

    Le costanti di matrice sono uno dei pilastri di una formula di matrice di Excel. Le informazioni e i suggerimenti che seguono possono aiutarvi a utilizzarle nel modo più efficiente.

    1. Elementi di un array costante

      Una costante di matrice può contenere numeri, valori di testo, booleani (VERO e FALSO) e valori di errore, separati da virgole o punti e virgola.

      È possibile inserire un valore numerico come intero, decimale o in notazione scientifica. Se si utilizzano valori di testo, questi devono essere circondati da doppi apici (") come in qualsiasi formula di Excel.

      Una costante di matrice non può includere altre matrici, riferimenti di cella, intervalli, date, nomi definiti, formule o funzioni.

    2. Nomi di costanti di array

      Per rendere più facile l'uso di una costante di array, assegnatele un nome:

      • Passare alla schermata Scheda Formule> Nomi definiti e fare clic su Definire il nome In alternativa, premere Ctrl + F3 e fare clic su Nuovo .
      • Digitare il nome nel campo Nome
      • Nel Si riferisce a inserire gli elementi della costante della matrice circondati da parentesi graffe con il precedente segno di uguaglianza (=). Ad esempio:

        ={"Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"}.

      • Fare clic su OK per salvare l'array denominato e chiudere la finestra.

      Per inserire la costante della matrice con nome in un foglio, selezionare tante celle in una riga o colonna quanti sono gli elementi della matrice, digitare il nome della matrice nella barra della formula preceduto dal segno = e premere Ctrl + Maiusc + Invio .

      Il risultato dovrebbe essere simile a questo:

    3. Prevenzione degli errori

      Se la costante di array non funziona correttamente, verificare la presenza dei seguenti problemi:

      • Delimitare gli elementi della costante di array con il carattere appropriato: virgola nelle costanti di array orizzontali e punto e virgola in quelle verticali.
      • Selezionate un intervallo di celle che corrisponda esattamente al numero di elementi della vostra costante di array. Se selezionate più celle, ogni cella in più avrà l'errore #N/A. Se selezionate meno celle, verrà inserita solo una parte dell'array.

    Utilizzo delle costanti di array nelle formule di Excel

    Ora che conoscete il concetto di costanti di array, vediamo come utilizzare le informule di array per risolvere i vostri compiti pratici.

    Esempio 1. Somma N numeri più grandi / più piccoli in un intervallo

    Si inizia creando una costante di matrice verticale contenente il numero di numeri che si desidera sommare. Ad esempio, se si desidera sommare i 3 numeri più piccoli o più grandi di un intervallo, la costante di matrice è {1,2,3}.

    Quindi, prendete la funzione LARGE o SMALL, specificate l'intero intervallo di celle nel primo parametro e includete la costante dell'array nel secondo. Infine, incorporatela nella funzione SUM, in questo modo:

    Somma i 3 numeri più grandi: =SOMMA(LARGE(range, {1,2,3}))

    Somma i 3 numeri più piccoli: =SOMMA(SMALL(range, {1,2,3}))

    Non dimenticate di premere Ctrl + Maiusc + Invio, poiché state inserendo una formula di matrice, e otterrete il seguente risultato:

    In modo analogo, è possibile calcolare la media degli N valori più piccoli o più grandi di un intervallo:

    Media dei primi 3 numeri: =AVERE(LARGE(range, {1,2,3}))

    Media dei 3 numeri inferiori: =VERSIONE(SMALL(range, {1,2,3}))

    Esempio 2. Formula della matrice per contare le celle con condizioni multiple

    Supponiamo di avere un elenco di ordini e di voler sapere quante volte un determinato venditore ha venduto determinati prodotti.

    Il modo più semplice è quello di utilizzare una formula COUNTIFS con più condizioni. Tuttavia, se si desidera includere molti prodotti, la formula COUNTIFS potrebbe diventare troppo grande. Per renderla più compatta, è possibile utilizzare COUNTIFS insieme a SUM e includere una costante di array in uno o più argomenti, ad esempio:

    =SOMMA(COUNTIFS(intervallo1, "criteri1", intervallo2, {"criteri1", "criteri2"}))

    La formula reale potrebbe essere la seguente:

    =SOMMA(COUNTIFS(B2:B9, "sally", C2:C9, {"mele", "limoni"}))

    L'array di esempio è composto solo da due elementi, poiché l'obiettivo è quello di dimostrare l'approccio. Nelle formule di array reali, è possibile includere tutti gli elementi richiesti dalla logica aziendale, a condizione che la lunghezza totale della formula non superi gli 8.192 caratteri in Excel 2019 - 2007 (1.024 caratteri in Excel 2003 e versioni successive) e che il computer sia sufficientemente potente per elaborare array di grandi dimensioni.Per maggiori dettagli, vedere le limitazioni delle formule di matrice.

    Ecco un esempio avanzato di formula di array che trova la somma di tutti i valori corrispondenti in una tabella: SUM e VLOOKUP con una costante di array.

    Operatori AND e OR nelle formule di array di Excel

    Un operatore di matrice indica alla formula come si desidera elaborare le matrici, utilizzando la logica AND o OR.

    • L'operatore AND è l'asterisco (*), simbolo di moltiplicazione, che indica a Excel di restituire VERO se TUTTE le condizioni sono valutate VERE.
    • L'operatore OR è il segno più (+) e restituisce VERO se QUALSIASI condizione di una determinata espressione è valutata VERA.

    Formula della matrice con l'operatore AND

    In questo esempio, troviamo la somma delle vendite in cui l'addetto alle vendite è Mike E il prodotto è Mele :

    =SOMMA((A2:A9="Mike") * (B2:B9="Mele") * (C2:C9))

    Oppure

    =SOMMA(SE(((A2:A9="Mike") * (B2:B9="Mele")), (C2:C9))

    Tecnicamente, questa formula moltiplica gli elementi dei tre array nelle stesse posizioni. I primi due array sono rappresentati dai valori VERO e FALSO, che sono i risultati del confronto tra A2:A9 e Mike" e B2:B9 e "Mele". Il terzo array contiene i numeri di vendita dell'intervallo C2:C9. Come ogni operazione matematica, la moltiplicazione converte VERO e FALSO rispettivamente in 1 e 0. E poichéMoltiplicando per 0 si ottiene sempre zero, la matrice risultante ha 0 quando una o entrambe le condizioni non sono soddisfatte. Se entrambe le condizioni sono soddisfatte, l'elemento corrispondente della terza matrice viene inserito nella matrice finale (ad esempio 1*1*C2 = 10). Quindi, il risultato della moltiplicazione è questa matrice: {10;0;0;30;0;0;0;0;0}. Infine, la funzione SOMMA somma gli elementi della matrice e restituisce il risultato di 40.

    Formula di array di Excel con l'operatore OR

    La seguente formula di array con l'operatore OR (+) somma tutte le vendite in cui il venditore è Mike o il prodotto è Mele:

    =SOMMA(SE(((A2:A9="Mike") + (B2:B9="Mele")), (C2:C9))

    In questa formula, si sommano gli elementi delle prime due matrici (che sono le condizioni che si vogliono testare) e si ottiene VERO (0) se almeno una condizione è valutata VERO; FALSO (0) quando tutte le condizioni sono valutate FALSO. Poi, IF controlla se il risultato dell'addizione è maggiore di 0 e, in caso affermativo, SOMMA somma l'elemento corrispondente della terza matrice (C2:C9).

    Suggerimento: nelle versioni moderne di Excel, non è necessario utilizzare una formula di array per questo tipo di operazioni: una semplice formula SUMIFS le gestisce perfettamente. Tuttavia, gli operatori AND e OR nelle formule di array possono rivelarsi utili in scenari più complessi, per non parlare di un'ottima ginnastica mentale : )

    Operatore unario doppio nelle formule di array di Excel

    Se avete mai lavorato con le formule di array in Excel, è probabile che vi siate imbattuti in alcune formule contenenti un doppio trattino (--) e vi siate chiesti a cosa servisse.

    Un doppio trattino, che tecnicamente è chiamato "trattino". doppio operatore unario, viene utilizzato per convertire i valori booleani non numerici (VERO / FALSO) restituiti da alcune espressioni in 1 e 0 comprensibili da una funzione array.

    Si supponga di avere un elenco di date nella colonna A e di voler sapere quante date si verificano a gennaio, indipendentemente dall'anno.

    La formula seguente funziona benissimo:

    =SUM(--(MONTH(A2:A10)=1))

    Poiché si tratta di una formula di matrice di Excel, ricordate di premere Ctrl + Maiusc + Invio per completarla.

    Se siete interessati a un altro mese, sostituite 1 con il numero corrispondente. Ad esempio, 2 sta per febbraio, 3 per marzo e così via. Per rendere la formula più flessibile, potete specificare il numero del mese in una cella, come mostrato nella schermata:

    Analizziamo ora il funzionamento di questa formula di matrice. La funzione MESE restituisce il mese di ciascuna data nelle celle da A2 a A10 rappresentato da un numero di serie, che produce la matrice {2;1;4;2;12;1;2;12;1}.

    Successivamente, ogni elemento della matrice viene confrontato con il valore della cella D1, che in questo esempio è il numero 1. Il risultato di questo confronto è una matrice di valori booleani VERO e FALSO. Come ricorderete, è possibile selezionare una determinata parte della formula di una matrice e premere F9 per vedere a cosa equivale quella parte:

    Infine, è necessario convertire questi valori booleani in 1 e 0 che la funzione SOMMA possa comprendere. A questo serve l'operatore doppio unario. Il primo unario costringe TRUE/FALSE a -1/0, rispettivamente. Il secondo unario nega i valori, cioè inverte il segno, trasformandoli in +1 e 0, che la maggior parte delle funzioni di Excel può comprendere e lavorare. Se si elimina il doppio unariodalla formula precedente, non funzionerà.

    Spero che questo breve tutorial vi sia stato utile per imparare a padroneggiare le formule degli array di Excel. La prossima settimana continueremo a parlare degli array di Excel concentrandoci su esempi di formule avanzate. Restate sintonizzati e grazie per la lettura!

    Michael Brown è un appassionato di tecnologia dedicato con una passione per la semplificazione di processi complessi utilizzando strumenti software. Con oltre un decennio di esperienza nel settore tecnologico, ha affinato le sue competenze in Microsoft Excel e Outlook, nonché in Fogli Google e Documenti. Il blog di Michael è dedicato alla condivisione delle sue conoscenze e competenze con gli altri, fornendo suggerimenti e tutorial facili da seguire per migliorare la produttività e l'efficienza. Che tu sia un professionista esperto o un principiante, il blog di Michael offre spunti preziosi e consigli pratici per ottenere il massimo da questi strumenti software essenziali.