Come utilizzare la funzione MAKEARRAY in Microsoft Excel
Immagina di digitare una singola formula nella cella A1 e guardarla creare una griglia di 100 celle senza muovere un dito. Niente trascinamenti, niente confusione, niente blocchi con il $, e nessun errore. Questo è il potere di MAKEARRAY. Usa una singola formula elegante per creare dataset dinamici e robusti in pochi secondi. È il momento di lasciare che sia Excel a fare il lavoro pesante!
MAKEARRAY è disponibile in Excel per Microsoft 365, Excel per il web e nelle app Excel per tablet e dispositivi mobili più aggiornate.
Comprendere la funzione MAKEARRAY
È più semplice di quanto pensi
Per usare MAKEARRAY, pensa a esso come a dire a Excel quanto grande costruire una griglia e quale valore ciascuna cella dovrebbe contenere in base alla sua posizione di riga e colonna. Excel applica poi la tua logica a ogni coordinata in quella griglia.
La sintassi
La formula MAKEARRAY è composta da questi argomenti:
=MAKEARRAY(rows, cols, LAMBDA(row, col, calculation))
dove :
- righe e colonne impostano la dimensione della griglia.
- LAMBDA è la funzione applicata a ogni cella della griglia.
- row e col sono i nomi dei parametri (come r e c) che tengono traccia della posizione della cella corrente.
- Calcolo è la logica o la matematica che determina il valore della cella.
L'esempio della griglia 10x10
Il modo migliore per vedere MAKEARRAY in azione è una tavola di moltiplicazione standard:
=MAKEARRAY(10, 10, LAMBDA(r,c, r * c))Excel riempie la griglia dalla riga 1, colonna 1 (1 x 1) fino alla riga 10, colonna 10 (10 x 10). Poiché MAKEARRAY è una funzione di matrice dinamica, il risultato si espande nelle celle adiacenti, indicato da una linea blu quando si seleziona la cella della formula.
Sebbene Excel supporti fino a 16.384 colonne e 1.048.576 righe, generare array massivi con logica complessa può causare rallentamenti delle prestazioni.
Esempio 1: Generazione di un lotto di controllo qualità casuale
Automatizzare l'inserimento di dati casuali
MAKEARRAY può popolare una griglia con valori casuali o etichette di testo specifiche. Questo è perfetto per generare dati di esempio, creare simulazioni o testare modelli.
Scenario: Sei un project manager che deve creare griglie di test di dimensioni diverse con voti di controllo qualità casuali (A, B o C) per simulare un rapporto di ispezione di un lotto. Invece di digitarli manualmente, puoi generare un nuovo set casuale ogni volta che il foglio si ricalcola.
Ecco la formula:
=MAKEARRAY(B1, B2,
LAMBDA(r,c,
CHOOSE(RANDBETWEEN(1, 3), "Grade A", "Grade B", "Grade C")))Premi Alt+Invio per suddividere formule lunghe su più righe, rendendole più facili da scrivere, leggere e analizzare.
Questo è quello che sta succedendo:
- B1 e B2 sono celle di riferimento che contengono il numero di righe e colonne. Anche se potresti inserire questi argomenti manualmente, farvi riferimento rende facile ridimensionare la griglia senza dover modificare la formula.
- RANDBETWEEN(1, 3) sceglie un numero intero casuale tra 1 e 3 per ogni cella. Poiché RANDBETWEEN è una funzione volatile, la griglia si rigenera ogni volta che Excel ricalcola.
- CHOOSE assegna a ciascun numero casuale un voto (1=A, 2=B, 3=C).
Esempio 2: Creazione di una griglia di prezzi a livelli
Utilizzo di riferimenti di celle esterni per modelli dinamici
MAKEARRAY può fare riferimento a celle specifiche al di fuori della propria formula. Questo significa che puoi costruire modelli in cui cambiare una singola cella di input aggiorna istantaneamente l'intera griglia.
Scenario A: Vuoi creare un piano dei posti per un locale che addebita prezzi diversi in base a quanto i posti siano vicini al palco. Un certo numero di file nella parte anteriore sono premium, e le file rimanenti sono standard.
Per prima cosa, imposta i tuoi parametri. La cella B1 contiene il numero di file, B2 contiene il numero di posti per fila, B3 indica il numero di file premium, B4 contiene il prezzo premium e B5 contiene il prezzo standard.
Quindi, nella cella D1, inserisci questa formula:
=MAKEARRAY(B1, B2,
LAMBDA(r,c,
IF(r<=B3, B4, B5)))
Se il numero della riga corrente è minore o uguale al valore in B3 (righe premium), restituisce il prezzo premium (B4, $120,00). Altrimenti, restituisce il prezzo standard (B5, $95,00).
Scenario B: Immaginiamo ora che tu voglia offrire un livello di valore alle file posteriori, quindi modifichi i tuoi parametri nella colonna B per rifletterlo.
Per applicare questi parametri, la formula nella cella D1 dovrebbe essere la seguente:
=MAKEARRAY(B1, B2,
LAMBDA(r,c,
IF(r<=B3, B5, IF(r<=B1-B4, B6, B7))))
Questo utilizza un'istruzione IF annidata per gestire la logica aggiuntiva:
- Per prima cosa, verifica se l'indice di riga (r) è minore o uguale a B3 (righe premium). Se vero, assegna il prezzo premium (B5, 120,00 $).
- Se falso, esegue il secondo controllo: la riga è minore o uguale a B1-B4? Questo sottrae il numero di righe sconto (B4) dal totale delle righe (B1) per trovare il limite medio. Se vero, assegna il prezzo standard (B6, $95,00).
- Se entrambi sono falsi, assegna il prezzo scontato (B7, 75,00 $).
Per rendere la tua mappa dei prezzi più facile da leggere, puoi applicare le Scale di Colore della Formattazione Condizionale (Formattazione Condizionale > Scale di Colore). Tuttavia, il campo "Si applica a" di Excel attualmente non può gestire l'operatore di propagazione dinamica (#), quindi per farla funzionare dovrai anticipare la dimensione massima del tuo array e applicare la formattazione a quell'intervallo per intero in anticipo.
Esempio 3: Modellare una matrice di tasso di crescita
Proiettare complesse tendenze aziendali
Per portare MAKEARRAY al livello successivo, puoi usarlo per simulare proiezioni di crescita cumulativa su diversi livelli, scalando il tasso di crescita nel tempo utilizzando l'indice della colonna.
Scenario: Stai proiettando come un investimento iniziale di 1 $cresca nel corso di 12 mesi attraverso quattro strategie (Standard, Composto, Accelerato e Massimo), assumendo un tasso di crescita mensile di base del 5%.
I nomi delle colonne illustrano una crescita divergente, non strategie finanziarie effettive.
Poiché i mesi e le strategie sono fissi per questo modello, puoi digitare manualmente le intestazioni in colonna A e riga 1. Poi, nella cella B2, puoi inserire il motore di crescita:
=MAKEARRAY(12,4,
LAMBDA(r,c,
1.05^((r-1)*c)))Ecco come funziona:
- Indice di riga (r-1): Questo rappresenta il tempo. r-1 significa che il mese 1 (riga 1 dell'array) inizia con un esponente di 0 (1,05^0), rappresentando il valore iniziale prima dell'inizio della crescita.
- Indice della colonna (c): Questo scala l'esponente, quindi i valori divergono tra le strategie nel tempo.
SEQUENCE vs. MAKEARRAY: Quale dovresti usare?
Scegliere lo strumento giusto per il compito
Sebbene suonino simili, le funzioni MAKEARRAY e SEQUENCE di Excel servono a scopi diversi. Usa SEQUENCE quando hai solo bisogno di una lista semplice, ma usa MAKEARRAY quando il valore di una cella dipende dalla sua posizione specifica nella griglia.
Caratteristica | SEQUENZA | CREAARRAY |
|---|---|---|
Logica | Incrementi semplici (1, 2, 3,...) | Logica personalizzata per l'intersezione |
Dimensioni | Conteggio 1D o semplice 2D | Qualsiasi righe x colonne |
Personalizzazione | Limitato ai valori "step" | Massima flessibilità LAMBDA |
Migliore per | Numeri di riga, semplici elenchi di date | Mappe dei prezzi, simulazioni, modelli di crescita |
Permettendo a una singola formula di costruire l'intera griglia, hai adottato un flusso di lavoro elegante che finalmente mette fine all'allenamento del "clicca-e-trascina". La parte emozionante è che MAKEARRAY è solo la tua porta d'accesso a un modo molto più interessante di costruire fogli di calcolo. Puoi prendere il pieno controllo dei tuoi dati utilizzando le cinque funzioni di supporto iteratori e cumulatore per esaminare e perfezionare i tuoi risultati. Insieme, queste funzioni LAMBDA hanno trasformato Excel in un linguaggio di programmazione, e conoscerle ti pone al di sopra dell'utente medio di Excel.








