Le nuove funzione di matrice dinamica STACK.VERT e STACK.ORIZ
L'unione dinamica di due o più intervalli di dati è sempre stata un'attività complessa da gestire in Excel, specialmente quando gli intervalli hanno dimensioni variabili o richiedono aggiornamenti continui.
In passato, questo tipo di operazione richiedeva l'uso di formule complesse o macro.
Tuttavia, con gli aggiornamenti di Excel 365 del 2022, le nuove funzioni di matrice dinamica hanno notevolmente semplificato questi processi.
Ora è possibile unire facilmente due o più intervalli di dati, siano essi statici o dinamici, con l'ausilio di una semplice funzione.
Le funzioni STACK.VERT (VSTACK) e STACK.ORIZ (HSTACK) offrono una soluzione pratica per combinare intervalli di dati in modo flessibile.
La funzione STACK.VERT consente di unire gli intervalli di dati disponendoli in verticale, uno sotto l'altro, mentre STACK.ORIZ permette di affiancarli orizzontalmente, creando così un'unica tabella o matrice continua.
Queste funzioni sono particolarmente utili quando si lavora con dati che cambiano frequentemente o che devono essere aggregati senza dover ridisegnare manualmente le tabelle ogni volta che ci sono aggiornamenti.
Sintassi delle Funzioni STACK.VERT e STACK.ORIZ
Sintassi della Funzione STACK.VERT
La funzione STACK.VERT di Excel serve per combinare più intervalli o matrici, disponendoli in verticale, in un'unica colonna. Questa funzione è utile quando si desidera unire dati provenienti da diverse tabelle o elenchi, organizzandoli uno sotto l'altro in un'unica colonna.
=STACK.VERT(matrice1;[matrice2],...)
Nella quale
matrice1;[matrice2].....
rappresentano i riferimenti
delle
Matrici o Intervalli di celle da unire. Matrice1 ovviamente è obbligatoria, le
successive sono argomenti
facoltativi.
Sintassi della Funzione STACK.ORIZ
La funzione STACK.ORIZ di Excel è utilizzata per combinare più intervalli o matrici, disponendoli orizzontalmente in un'unica riga. Questa funzione è utile quando si desidera unire dati da tabelle o elenchi diversi, posizionandoli uno accanto all'altro.
=STACK.ORIZ(matrice1;[matrice2],...)
Nella quale
matrice1;[matrice2].....
rappresentano i riferimenti
delle
Matrici o Intervalli di celle da unire. Matrice1 ovviamente è obbligatoria, le
successive sono argomenti
facoltativi.
Applicare la Funzione STACK.VERT
Nell'esempio descritto nella
sottostante immagine, si
vogliono unire due distinti
elenchi di persone in una unica
tabella.
Nella cella A11 è stata inserita
la seguente Funzione =STACK.VERT(A3:E7;G3:K6)
Inserita la Funzione, a partire dalla cella A11, è stata creata automaticamente una tabella dinamica che unisce i
valori provenienti dalle due serie
di dati.
Osservazioni: nella seconda tabella di origine, il dato relativo al comune è assente, quindi nel risultato della funzione viene restituito il valore 0 al posto
del dato mancante.
Importanti osservazioni sull'applicazione della Funzione STACK.VERT e STACK.ORIZ
Per utilizzare al meglio le Nuove funzioni di Excel VSTACK e HSTACK, è
importante considerare alcuni aspetti:
Queste funzioni consentono di combinare intervalli di
celle, intervalli denominati,
matrici generati da altre
formule.
La formula, come tutte le funzioni di matrice dinamica, deve essere inserita in una singola cella. Da
questa cella, la matrice
dinamica risultante si estenderà automaticamente
per tutte le celle necessarie.
L'output delle funzioni è
completamente dinamico:
qualsiasi modifica nelle tabelle
dati originali viene
immediatamente riflessa nella
matrice restituita. (Nel caso
dell'esempio di cui sopra se
venisse aggiunta una nuova riga
alla prima tabella,
l'inserimento dei dati nella
matrice di destinazione sarà
posizionato alla fine della
serie appartenete alla prima
tabella e non alla fine
dell'elenco).
Per aggiungere nuovi dati alla
matrice risultante senza dover
modificare la formula, è
importante che le base dati di
origine siano delle tabelle di
Excel e non dei semplici
intervalli di dati.
Gestire le celle vuote
Se gli intervalli di origine contengono delle celle vuote, la
matrice restituirà degli zeri al posto degli spazi vuoti.
Per risolvere questo problema, è
possibile nidificare la tua funzione STACK.VERT e STACK.ORIZ all'interno del primo argomento della funzione
SOSTITUISCI, in modo da sostituire gli zeri con stringhe vuote ("").
Ad esempio, puoi utilizzare la seguente Formula:
=SOSTITUISCI(STACK.VERT(A3:E8;G14:K17);" ";"")
Combinare due intervalli eliminando i valori duplicati
Qualora nei due intervalli di
dati "sorgente" delle
informazioni, vi fossero dei
valori duplicati, è possibili
nidificare le due Funzioni STACK.VERT e STACK.ORIZ
all'interno
della Funzione UNICI.
Nell'esempio raffigurato nella
sottostante figura è stata
impostata la seguente Formula:
=UNICI(STACK.VERT(A3:E7;G3:K6))
Esempio di tabelle da unire orizzontalmente applicando la Funzione STACK.ORIZ
In questo esempio, viene suggerito di utilizzare la funzione STACK.ORIZ.
L'obiettivo è unire due tabelle che contengono i dati relativi ai vincitori di competizioni sciistiche, creando così una singola tabella aggregata.
La funzione proposta per raggiungere questo scopo è la seguente:
=STACK.ORIZ(C2:E4;H2:L4)
Affinchè i dati siano
rappresentati in ordine
decrescente dal 2024 al
2017 la funzione STACK.ORIZ è stata
nidificata all'interno della
Funzione DATI.ORDINA
Gli argomenti descritti nella
Funzione DATI.ORDINA sono
rispettivamente:
il primo argomento è la Funzione
STACK.ORIZ
il secondo argomenti = 1 rappresenta l'indice di ordinamento,
ovvero la matrice è ordinato in base alla prima riga
il terzo argomento = -1 indica l'ordinamento crescente
il quarto argomento = VERO
indica che devono essere
ordinate le colonne, non le righe
=DATI.ORDINA(STACK.ORIZ(C2:E4;H2:L4);1;-1;VERO)
Il risultato dell'operazione è l'unione delle due tabelle e la rappresentazione in ordine cronologico decrescenti di chi a vinto le competizione dall'anno 2024 al 2017.
[Valter Borsato: pubblicato 15/09/2024, revisione: 09/10/2024]
Indice Generale Argomenti: EXCEL