Formule Ricerca e Riferimento
Formule per cercare, trovare e recuperare dati da tabelle e intervalli.
Ricerca e Riferimento (39 formule)
Formule per cercare, trovare e recuperare dati da tabelle e intervalli.
AREE (AREAS)
Restituisce il numero di aree contenute in un riferimento. Un'area può essere un intervallo di celle contigue o una singola cella.
Sintassi:
=AREE(rif)Esempio:
=AREE((A1:B2; D4:E5))Consiglio: Ricorda di racchiudere i riferimenti multipli tra doppie parentesi tonde per evitare errori di sintassi.
CERCA (LOOKUP)
Cerca un valore in un intervallo di una riga o di una colonna e restituisce il valore corrispondente da un secondo intervallo. È progettata per compatibilità con i vecchi fogli di calcolo.
Sintassi:
=CERCA(valore; vettore; [risultato])Esempio:
=CERCA(10; A1:A10; B1:B10)Consiglio: Assicurati che i dati nel vettore di ricerca siano ordinati in modo crescente per evitare risultati errati.
CERCA.ORIZZ (HLOOKUP)
Cerca un valore nella prima riga di una tabella e restituisce un dato che si trova nella stessa colonna. Funziona esattamente come il cerca verticale, ma si muove in orizzontale.
Sintassi:
=CERCA.ORIZZ(valore; tabella; indice_riga; [intervallo])Esempio:
=CERCA.ORIZZ(A1; B1:E3; 2; FALSO)Consiglio: Come CERCA.VERT ma cerca in orizzontale invece che in verticale.
CERCA.VERT (VLOOKUP)
Cerca un valore nella prima colonna di una tabella e restituisce un'informazione che si trova sulla stessa riga. È come cercare un nome in un elenco telefonico per trovare il numero corrispondente.
Sintassi:
=CERCA.VERT(valore; tabella; indice; [intervallo])Esempio:
=CERCA.VERT(A2; Foglio2!A:C; 3; FALSO)Consiglio: Usa FALSO per corrispondenza esatta. Con VERO rischi risultati sbagliati se i dati non sono ordinati.
CERCA.X (XLOOKUP)
La versione moderna e più potente per cercare dati: trova valori in qualsiasi direzione e gestisce automaticamente gli errori se non trova nulla. Sostituisce i vecchi sistemi di ricerca rendendo tutto più semplice.
Sintassi:
=CERCA.X(valore; matrice_ricerca; matrice_restituzione; [se_non_trovato]; [modalita_corrispondenza]; [modalita_ricerca])Esempio:
=CERCA.X(A2; B:B; C:C; "Non trovato")Consiglio: Disponibile da Excel 2019/Microsoft 365. Molto più flessibile di CERCA.VERT, cerca anche da destra a sinistra!
CHOOSECOLS (CHOOSECOLS)
Seleziona e restituisce solo le colonne specificate da una tabella o matrice. Utile per estrarre un sottoinsieme di colonne da una tabella ampia senza copiare dati.
Sintassi:
=CHOOSECOLS(matrice; num_col1; [num_col2]; ...)Esempio:
=CHOOSECOLS(A1:E10; 1; 3; 5)Consiglio: Disponibile in Excel 365. Usa numeri negativi per contare le colonne dalla destra: -1 e' l'ultima colonna, -2 la penultima.
CHOOSEROWS (CHOOSEROWS)
Seleziona e restituisce solo le righe specificate da una tabella o matrice. Ideale per estrarre righe precise da un elenco, come recuperare la prima e l'ultima voce.
Sintassi:
=CHOOSEROWS(matrice; num_riga1; [num_riga2]; ...)Esempio:
=CHOOSEROWS(A1:C10; 1; 5; 10)Consiglio: Anche qui puoi usare numeri negativi per contare dal basso. =CHOOSEROWS(A1:C100; 1; -1) restituisce la prima e l'ultima riga dell'elenco.
COLLEG.IPERTESTUALE (HYPERLINK)
Crea un collegamento che apre un documento memorizzato su un server, in rete o su Internet. Permette di navigare rapidamente tra file o siti web.
Sintassi:
=COLLEG.IPERTESTUALE(indirizzo; [nome_descrittivo])Esempio:
=COLLEG.IPERTESTUALE("https://www.google.it"; "Apri Google")Consiglio: Puoi creare link dinamici a file locali o cartelle di rete concatenando i percorsi delle cartelle con i nomi dei file.
COLONNE (COLUMNS)
Restituisce il numero di colonne presenti in un riferimento o in una matrice. Aiuta a determinare la larghezza di un set di dati.
Sintassi:
=COLONNE(matrice)Esempio:
=COLONNE(A1:Z1)Consiglio: Combinala con la funzione RIF.COLONNA per creare intestazioni che si adattano automaticamente allo spostamento delle colonne.
CONFRONTA (MATCH)
Cerca un elemento in un elenco e ti dice in quale posizione si trova (ad esempio, se è il terzo o il decimo della lista). Non restituisce il valore stesso, ma il suo numero d'ordine.
Sintassi:
=CONFRONTA(valore; matrice; [tipo_corrispondenza])Esempio:
=CONFRONTA("Mario"; A1:A100; 0)Consiglio: Usa 0 come tipo_corrispondenza per la corrispondenza esatta. Restituisce la posizione, non il valore.
CUBEKPIMEMBER (CUBEKPIMEMBER)
Restituisce la proprieta' di un indicatore KPI (Key Performance Indicator) da un cubo OLAP, come il nome, il valore o lo stato. Usata in fogli collegati a PowerPivot o Analysis Services.
Sintassi:
=CUBEKPIMEMBER(connessione; nome_kpi; tipo_kpi; [didascalia])Esempio:
=CUBEKPIMEMBER("Modello"; "Vendite"; 1)Consiglio: Questa funzione e' pensata per ambienti aziendali con cubi OLAP. Se lavori con tabelle normali, usa MAX.PIU.SE o MATR.SOMMA.PRODOTTO per i tuoi KPI.
CUBEMEMBER (CUBEMEMBER)
Restituisce un membro o una tupla da un cubo OLAP. Serve per fare riferimento a un elemento specifico (come una regione o un prodotto) all'interno di un modello dati multidimensionale.
Sintassi:
=CUBEMEMBER(connessione; espressione_membro; [didascalia])Esempio:
=CUBEMEMBER("Modello"; "[Regione].[Area].&[Nord]")Consiglio: Le funzioni CUBE richiedono una connessione attiva a un cubo OLAP o al modello dati interno di Excel (PowerPivot). Verifica che la connessione sia attiva prima di usarle.
CUBERANKEDMEMBER (CUBERANKEDMEMBER)
Restituisce l'n-esimo membro di un set di un cubo OLAP, in base alla classifica. Permette di recuperare, ad esempio, il terzo venditore per fatturato da un modello dati aziendale.
Sintassi:
=CUBERANKEDMEMBER(connessione; espressione_set; classificazione; [didascalia])Esempio:
=CUBERANKEDMEMBER("Modello"; A2; 1)Consiglio: Utile per creare classifiche dinamiche top-N da cubi OLAP. Per dati normali in Excel, usa invece GRANDE o ORDINA per trovare i valori piu' alti.
CUBESET (CUBESET)
Definisce un insieme di membri o tuple da un cubo OLAP applicando un'espressione. Il risultato e' un set che puo' essere usato da altre funzioni CUBE come argomento.
Sintassi:
=CUBESET(connessione; espressione_set; [didascalia]; [ordine]; [ordina_per])Esempio:
=CUBESET("Modello"; "[Prodotto].[Categoria].Members"; "Tutte le categorie")Consiglio: CUBESET da' sola non mostra nulla di visibile: e' un contenitore di dati. Usala come argomento di CUBERANKEDMEMBER o CUBESETCOUNT per estrarne informazioni utili.
CUBESETCOUNT (CUBESETCOUNT)
Conta quanti elementi sono contenuti in un set di un cubo OLAP. Restituisce il numero di voci presenti nell'insieme definito da CUBESET.
Sintassi:
=CUBESETCOUNT(set)Esempio:
=CUBESETCOUNT(A2)Consiglio: Usa questa funzione dopo CUBESET per verificare quanti elementi contiene il set prima di usare CUBERANKEDMEMBER. Aiuta a evitare errori nei loop di estrazione dati.
CUBEVALUE (CUBEVALUE)
Estrae un valore aggregato (come un totale o una media) da un cubo OLAP, incrociando piu' dimensioni. E' la funzione piu' usata della famiglia CUBE per recuperare dati numerici dal modello.
Sintassi:
=CUBEVALUE(connessione; [espressione_membro1]; [espressione_membro2]; ...)Esempio:
=CUBEVALUE("Modello"; "[Tempo].[Anno].&[2024]"; "[Misure].[Fatturato]")Consiglio: E' l'equivalente OLAP di una Tabella Pivot in una singola cella. Avvolgila in SE.ERRORE per gestire i casi in cui la connessione al cubo non e' disponibile.
DROP (DROP)
Elimina un numero specificato di righe o colonne dall'inizio o dalla fine di una matrice. Pratico per rimuovere le righe di intestazione o i totali finali prima di elaborare un elenco.
Sintassi:
=DROP(matrice; righe; [colonne])Esempio:
=DROP(A1:C10; 1)Consiglio: Usa un numero negativo per rimuovere righe dal fondo invece che dall'inizio. Ad esempio, =DROP(A1:C10; -1) elimina l'ultima riga, utile per escludere una riga di totali.
FILTRO (FILTER)
Estrae e mostra solo i dati che rispettano una o più condizioni scelte da te.
Sintassi:
=FILTRO(matrice; includi; [se_vuoto])Esempio:
=FILTRO(A1:C100; B1:B100="Milano"; "Nessun risultato")Consiglio: Disponibile solo in Excel 365 e 2021. Formula dinamica rivoluzionaria: filtra i dati direttamente con una formula!
HSTACK (HSTACK)
Unisce due o piu' matrici affiancandole orizzontalmente, colonna dopo colonna. Permette di combinare tabelle distinte in un'unica matrice senza copia-incolla.
Sintassi:
=HSTACK(matrice1; [matrice2]; ...)Esempio:
=HSTACK(A1:A10; B1:B10; C1:C10)Consiglio: Disponibile in Excel 365. Se le matrici hanno un numero diverso di righe, le celle mancanti vengono riempite con #N/D. Combinala con SE.NON.DISP. per sostituire quei valori.
INDEX+MATCH (INDICE+CONFRONTA)
La combinazione classica di INDICE e CONFRONTA: cerca un valore in una colonna e restituisce il dato corrispondente da un'altra colonna, in qualsiasi direzione. E' il metodo tradizionale per fare ricerche flessibili prima di CERCA.X.
Sintassi:
=INDICE(colonna_risultato; CONFRONTA(valore; colonna_ricerca; 0))Esempio:
=INDICE(C2:C100; CONFRONTA("Mario Rossi"; A2:A100; 0))Consiglio: A differenza di CERCA.VERT, questa combinazione funziona anche cercando da destra a sinistra. Se hai Excel 365, considera di passare a CERCA.X che e' ancora piu' semplice da scrivere e leggere.
INDICE (INDEX)
Restituisce il contenuto di una cella specifica all'interno di un'area, indicando semplicemente la sua posizione tramite riga e colonna. È come dare le coordinate su una mappa per trovare un tesoro.
Sintassi:
=INDICE(matrice; num_riga; [num_colonna])Esempio:
=INDICE(A1:C10; 3; 2)Consiglio: Combinata con CONFRONTA diventa più potente di CERCA.VERT: funziona in qualsiasi direzione.
INDIRETTO (INDIRECT)
Trasforma una stringa di testo in un riferimento reale a una cella o a un foglio. Permette di comporre l'indirizzo di una cella usando il testo.
Sintassi:
=INDIRETTO(testo_rif; [a1])Esempio:
=INDIRETTO("Foglio"&A1&"!B2")Consiglio: Crea un riferimento da una stringa di testo. Permette di riferirsi dinamicamente a fogli diversi. Anche questa è volatile!
INDIRIZZO (ADDRESS)
Crea un riferimento di cella in formato testo, partendo dai numeri di riga e colonna specificati. Può generare riferimenti assoluti, relativi o misti.
Sintassi:
=INDIRIZZO(riga; colonna; [assoluto]; [a1]; [foglio])Esempio:
=INDIRIZZO(5; 2; 4)Consiglio: Usala insieme alla funzione INDIRETTO per trasformare una stringa di testo in un riferimento di cella realmente utilizzabile nelle formule.
MATR.TRASPOSTA (TRANSPOSE)
Ruota un gruppo di celle cambiando le righe in colonne e viceversa.
Sintassi:
=MATR.TRASPOSTA(matrice)Esempio:
=MATR.TRASPOSTA(A1:C3)Consiglio: In Excel 365 si usa come formula dinamica normale. In versioni precedenti occorre inserirla come formula array con Ctrl+Shift+Invio.
ORDINA (SORT)
Ordina automaticamente un elenco di dati in base a una colonna, in modo crescente o decrescente.
Sintassi:
=ORDINA(matrice; [indice]; [ordine]; [per_colonna])Esempio:
=ORDINA(A1:B100; 2; -1)Consiglio: Disponibile solo in Excel 365 e 2021. Ordina dinamicamente senza modificare i dati originali. Ordine: 1=crescente, -1=decrescente.
ORDINA.PER (SORTBY)
Ordina il contenuto di un intervallo o di una matrice in base ai valori di una o più matrici corrispondenti. Supporta criteri di ordinamento multipli e dinamici.
Sintassi:
=ORDINA.PER(matrice; per_matrice1; [ordine1]; [per_matrice2]; [ordine2])Esempio:
=ORDINA.PER(A2:B10; B2:B10; -1)Consiglio: Questa funzione permette di ordinare un intervallo in base a una colonna che non deve necessariamente essere inclusa nell'intervallo finale.
RIF.COLONNA (COLUMN)
Restituisce il numero della colonna di una cella, trasformando le lettere in numeri.
Sintassi:
=RIF.COLONNA([riferimento])Esempio:
=RIF.COLONNA()Consiglio: Senza argomenti restituisce il numero della colonna corrente. A=1, B=2, ecc.
RIF.RIGA (ROW)
Restituisce il numero della riga di una cella specifica o della cella in cui scrivi la formula.
Sintassi:
=RIF.RIGA([riferimento])Esempio:
=RIF.RIGA()Consiglio: Senza argomenti restituisce il numero della riga corrente. Utile in formule array per creare sequenze numeriche.
RIGHE (ROWS)
Restituisce il numero di righe presenti in un riferimento o in una matrice. È fondamentale per automatizzare calcoli basati sulla dimensione dei dati.
Sintassi:
=RIGHE(matrice)Esempio:
=RIGHE(A1:C10)Consiglio: Usala con i riferimenti strutturati delle tabelle per ottenere il numero esatto di record senza contare le intestazioni.
SCARTO (OFFSET)
Restituisce il contenuto di una cella o un intervallo spostandosi di un certo numero di righe e colonne da un punto di partenza.
Sintassi:
=SCARTO(rif; righe; colonne; [altezza]; [larghezza])Esempio:
=SCARTO(A1; 2; 1)Consiglio: Restituisce un riferimento spostato di N righe e colonne. Utile per intervalli dinamici, ma attenzione: è volatile e può rallentare il file.
SCEGLI (CHOOSE)
Seleziona un elemento da un elenco in base alla sua posizione numerica. È come avere un menu dove scegli l'opzione desiderata tramite un numero.
Sintassi:
=SCEGLI(num_indice; valore1; [valore2]; ...)Esempio:
=SCEGLI(MESE(OGGI()); "Gen"; "Feb"; "Mar"; "Apr"; "Mag"; "Giu"; "Lug"; "Ago"; "Set"; "Ott"; "Nov"; "Dic")Consiglio: Seleziona un valore da un elenco in base a un indice numerico. Ottimo per mappare numeri a etichette.
TAKE (TAKE)
Estrae un numero specificato di righe o colonne dall'inizio o dalla fine di una matrice. E' il complementare di DROP: dove DROP scarta, TAKE conserva.
Sintassi:
=TAKE(matrice; righe; [colonne])Esempio:
=TAKE(A1:C100; 5)Consiglio: Usa numeri negativi per prendere le righe dal fondo. =TAKE(A1:C100; -3) restituisce le ultime 3 righe: ottimo per mostrare le voci piu' recenti di un registro.
TOCOL (TOCOL)
Trasforma una matrice bidimensionale (piu' righe e colonne) in una singola colonna verticale. Utile per appiattire tabelle in un unico elenco da elaborare con altre formule.
Sintassi:
=TOCOL(matrice; [ignora]; [per_colonna])Esempio:
=TOCOL(A1:C3)Consiglio: Il parametro ignora permette di saltare celle vuote (1), errori (2) o entrambi (3). Utile quando vuoi creare un elenco pulito da una tabella con celle mancanti.
TOROW (TOROW)
Trasforma una matrice bidimensionale in una singola riga orizzontale. Funziona come TOCOL ma dispone i valori in orizzontale anziche' in verticale.
Sintassi:
=TOROW(matrice; [ignora]; [per_colonna])Esempio:
=TOROW(A1:C3)Consiglio: Come TOCOL, usa il parametro ignora per escludere celle vuote o con errori. Combinala con UNISCI.TESTO per creare stringhe di testo da una matrice di valori.
UNICI (UNIQUE)
Crea un elenco di valori singoli partendo da una lista che contiene dei duplicati.
Sintassi:
=UNICI(matrice; [per_colonna]; [esattamente_una_volta])Esempio:
=UNICI(A1:A100)Consiglio: Disponibile solo in Excel 365 e 2021. Restituisce i valori unici da un intervallo come formula dinamica (si espande automaticamente).
VSTACK (VSTACK)
Unisce due o piu' matrici impilendole verticalmente, una sotto l'altra. Permette di combinare elenchi separati (ad esempio dati di piu' fogli o mesi diversi) in un'unica tabella.
Sintassi:
=VSTACK(matrice1; [matrice2]; ...)Esempio:
=VSTACK(Gennaio!A2:C50; Febbraio!A2:C50; Marzo!A2:C50)Consiglio: Disponibile in Excel 365. Ottimo per consolidare dati mensili senza macro. Se le matrici hanno larghezze diverse, le celle mancanti vengono riempite con #N/D.
WRAPCOLS (WRAPCOLS)
Riorganizza un elenco verticale in una griglia a piu' colonne, andando a capo ogni N elementi. Trasforma una lunga lista in una tabella ordinata.
Sintassi:
=WRAPCOLS(vettore; avvolgi_conteggio; [valore_riempimento])Esempio:
=WRAPCOLS(A1:A12; 3)Consiglio: Perfetto per creare calendari o layout a griglia da un elenco lineare. Usa il parametro valore_riempimento per riempire le celle vuote nell'ultima riga (ad esempio "" per celle bianche).
WRAPROWS (WRAPROWS)
Riorganizza un elenco orizzontale in una griglia a piu' righe, andando a capo ogni N elementi. E' il complementare di WRAPCOLS: funziona partendo da una riga invece che da una colonna.
Sintassi:
=WRAPROWS(vettore; avvolgi_conteggio; [valore_riempimento])Esempio:
=WRAPROWS(A1:F1; 2)Consiglio: Come WRAPCOLS, utile per ridistribuire dati in layout a griglia. Scegli WRAPCOLS se la tua fonte e' una colonna, WRAPROWS se e' una riga.
XMATCH (XMATCH)
La versione moderna e potenziata di CONFRONTA: cerca un valore in un elenco e restituisce la sua posizione. Supporta ricerca inversa, caratteri jolly e corrispondenza approssimativa in modo piu' intuitivo.
Sintassi:
=XMATCH(valore_cercato; matrice_ricerca; [modalita_corrispondenza]; [modalita_ricerca])Esempio:
=XMATCH("Laura"; A2:A100; 0; -1)Consiglio: Disponibile da Excel 365/2021. Usa modalita_ricerca=-1 per cercare dall'ultima riga in su, utile per trovare l'ultima occorrenza di un valore in un elenco cronologico. Combinalo con INDICE come sostituto di CERCA.X.
Formula Guide