Sommario
L'esercitazione fornisce una breve introduzione alla sintassi della funzione INDIRIZZO e mostra come utilizzarla per restituire l'indirizzo di una cella di Excel e altro ancora.
Per creare un riferimento di cella in Excel, è possibile digitare manualmente le coordinate di colonna e di riga. In alternativa, è possibile ottenere un indirizzo di cella di Excel dai numeri di riga e di colonna forniti alla funzione INDIRIZZO. Quasi inutile da sola, in combinazione con altre funzioni questa tecnica può essere l'unica soluzione in situazioni in cui non è possibile fare riferimento a una cella direttamente.
Funzione INDIRIZZO di Excel - sintassi e usi di base
La funzione INDIRIZZO consente di ottenere l'indirizzo di una cella di Excel in base ai numeri di riga e di colonna specificati. L'indirizzo di una cella viene restituito come una stringa di testo, non come un riferimento reale.
La funzione è disponibile in tutte le versioni di Excel per Microsoft 365 - Excel 2007.
La sintassi della funzione INDIRIZZO è la seguente:
INDIRIZZO(riga_num, colonna_num, [abs_num], [a1], [testo_foglio])I primi due argomenti sono obbligatori:
numero_riga - il numero di riga da utilizzare nel riferimento alla cella.
numero_colonna - il numero di colonna per costruire il riferimento alla cella.
Gli ultimi tre argomenti, che specificano il formato del riferimento alla cella, sono facoltativi:
ass_num - il tipo di riferimento, assoluto o relativo. Può assumere uno dei numeri seguenti; il valore predefinito è assoluto.
- 1 o omesso - riferimento assoluto alla cella, come $A$1
- 2 - riferimento misto: colonna relativa e riga assoluta come A$1
- 3 - riferimento misto: colonna assoluta e riga relativa come $A1
- 4 - riferimento di cella relativo, come A1
a1 - lo stile di riferimento, A1 o R1C1. Se viene omesso, viene utilizzato lo stile A1 predefinito.
- 1 o VERO o omesso - restituisce l'indirizzo della cella nello stile di riferimento A1, dove le colonne sono lettere e le righe sono numeri.
- 0 o FALSO - restituisce l'indirizzo della cella nello stile di riferimento R1C1, dove le righe e le colonne sono rappresentate da numeri.
testo_foglio - il nome del foglio di lavoro da includere nel riferimento esterno. Il nome del foglio deve essere fornito come stringa di testo e racchiuso tra virgolette, ad esempio "Foglio2". Se viene omesso, non viene utilizzato alcun nome di foglio di lavoro e l'indirizzo viene impostato sul foglio corrente.
Ad esempio:
=INDIRIZZO(1,1)
- restituisce l'indirizzo della prima cella (ossia la cella all'intersezione della prima riga e della prima colonna) come riferimento assoluto alla cella $A$1.
=INDIRIZZO(1,1,4)
- restituisce l'indirizzo della prima cella come riferimento relativo alla cella A1.
Nella tabella seguente sono riportati alcuni altri tipi di riferimento che possono essere restituiti dalle formule di INDIRIZZO.
Formula | Risultato | Descrizione |
=INDIRIZZO(1,2) | $B$1 | Riferimento assoluto alla cella |
=INDIRIZZO(1,2,4) | B1 | Riferimento relativo alla cella |
=INDIRIZZO(1,2,2) | B$1 | Colonna relativa e riga assoluta |
=INDIRIZZO(1,2,3) | $B1 | Colonna assoluta e riga relativa |
=INDIRIZZO(1,2,1,FALSO) | R1C2 | Riferimento assoluto nello stile R1C1 |
=INDIRIZZO(1,2,4,FALSO) | R[1]C[2] | Riferimento relativo nello stile R1C1 |
=INDIRIZZO(1,2,1,, "Foglio2") | Foglio2!$B$1 | Riferimento assoluto a un altro foglio |
=INDIRIZZO(1,2,4,, "Foglio2") | Foglio2!B1 | Riferimento relativo a un altro foglio |
Come utilizzare la funzione INDIRIZZO in Excel - esempi di formule
Gli esempi seguenti mostrano come utilizzare la funzione INDIRIZZO all'interno di formule più grandi per svolgere compiti più difficili.
Restituisce il valore di una cella in una data riga e colonna
Se l'obiettivo è ottenere un valore da una cella specifica in base ai numeri di riga e di colonna, utilizzate la funzione INDIRIZZO insieme a INDIRETTO:
INDIRETTO(INDIRIZZO(riga_num, colonna_num))La funzione INDIRIZZO fornisce l'indirizzo della cella come testo. La funzione INDIRETTO trasforma il testo in un normale riferimento e restituisce il valore della cella corrispondente.
Ad esempio, per ottenere il valore di una cella in base al numero di riga in E1 e al numero di colonna in E2, utilizzate questa formula:
=INDIRETTO(INDIRIZZO(E1,E2))
Ottenere l'indirizzo di una cella con il valore più alto o più basso
In questo esempio, per prima cosa troveremo i valori più alti e più bassi nell'intervallo B2:B7 utilizzando le funzioni MAX e MIN e li inseriremo in celle speciali:
Cellula E2: =MAX(B2:B7)
Cella F2: =MIN(B2:B7)
Quindi, utilizzeremo INDIRIZZO in combinazione con la funzione MATCH per ottenere gli indirizzi delle celle.
Cella con il valore massimo:
=INDIRIZZO(MATCH(E2,B:B,0), COLONNA(B2))
Cella con il valore minimo:
=INDIRIZZO(MATCH(F2,B:B,0), COLONNA(B2))
Se non si vogliono i valori più alti e più bassi in celle separate, è possibile annidare la funzione MAX/MIN nel primo argomento di MATCH. Ad esempio:
Cella con il valore più alto:
=INDIRIZZO(MATCH(MAX(B2:B7),B:B,0), COLONNA(B2))
Cella con il valore più basso:
=INDIRIZZO(MATCH(MIN(B2:B7),B:B,0), COLONNA(B2))
Come funzionano queste formule
Per trovare il numero di riga, si utilizza la funzione MATCH(lookup_value, lookup_array, [match_type]) che restituisce una posizione relativa di lookup_value in lookup_array. Nella nostra formula, il lookup value è il numero restituito dalla funzione MAX o MIN e la lookup array è l'intera colonna. Di conseguenza, la posizione relativa del lookup value nell'array corrisponde esattamente al numero di riga del foglio.
Per trovare il numero della colonna, si utilizza la funzione COLONNA. Naturalmente, nulla vieta di digitare il numero direttamente nella formula, ma COLONNA evita la fatica del conteggio manuale nel caso in cui la colonna di destinazione si trovi al centro del foglio.
Ottenere una lettera di colonna da un numero di colonna
Per trasformare un numero qualsiasi in una lettera di colonna, utilizzare la funzione INDIRIZZO all'interno di SOSTITUTI:
SOSTITUIRE(INDIRIZZO(1, numero_colonna ,4), "1","")Ad esempio, troviamo la lettera della colonna corrispondente al numero in A2:
=SOSTITUIRE(INDIRIZZO(1,A2,4), "1","")
Osservando i risultati qui sotto, possiamo dire che la prima colonna del foglio è A, il che è ovvio; la decima colonna è J, la cinquantesima colonna è AX e la centesima colonna è CV:
Come funziona questa formula
Per cominciare, impostate la funzione INDIRIZZO in modo che restituisca un riferimento relativo alla prima cella della colonna di destinazione:
- Per il numero di riga, utilizzare 1.
- Per il numero di colonna, fornire il riferimento alla cella contenente il numero, A2 nel nostro esempio.
- Per l'argomento abs_num, inserire 4.
Come risultato, ADDRESS(1,A2,4) restituirebbe A1.
Per eliminare la coordinata di riga, inserire la formula precedente nella funzione SUBSTITUTE e sostituire "1" con una stringa vuota (""). Fatto!
Ottenere l'indirizzo di un intervallo di nomi
Per trovare l'indirizzo di un intervallo con nome in Excel, è necessario prima ottenere i riferimenti alla prima e all'ultima cella e poi unirli. Questo funziona in modo leggermente diverso in Excel pre-dinamico (2019 e precedenti) e in Excel array dinamico (Office 365 e Excel 2021). Gli esempi seguenti sono per Excel 2019 - Excel 2007. Le istruzioni per Excel 365 e Excel 2021 sono qui.
Come ottenere l'indirizzo della prima cella di un intervallo
Per restituire un riferimento alla prima cella di un intervallo denominato, utilizzate questa formula generica:
INDIRIZZO(FILO( gamma ),COLONNA( gamma ))Supponendo che l'intervallo sia denominato "Vendite", la formula reale è la seguente:
=INDIRIZZO(ROW(Vendite), COLONNA(Vendite))
E restituisce l'indirizzo della cella superiore sinistra dell'intervallo:
In questa formula, le funzioni ROW e COLUMN restituiscono una matrice di tutti i numeri di riga e di colonna dell'intervallo, rispettivamente. Sulla base di questi numeri, la funzione ADDRESS crea una matrice di indirizzi di cella. Tuttavia, poiché la formula viene inserita in una singola cella, viene visualizzato solo il primo elemento della matrice, che corrisponde alla prima cella dell'intervallo.
Come ottenere l'indirizzo dell'ultima cella di un intervallo
Per trovare l'indirizzo dell'ultima cella di un intervallo denominato, utilizzate questa formula generica:
INDIRIZZO(FILO( gamma )+ROWS( gamma )-1,COLONNA( gamma )+COLORI( gamma )-1)Applicata al nostro intervallo denominato "Vendite", la formula assume la seguente forma:
=ADDRESS(ROW(Sales) + ROWS(Sales)-1, COLUMN(Sales) + COLUMNS(Sales)-1)
E restituisce il riferimento alla cella in basso a destra dell'intervallo:
Questa volta abbiamo bisogno di calcoli un po' più complessi per trovare il numero di riga. Come nell'esempio precedente, la funzione ROW ci fornisce un array di tutti i numeri di riga nell'intervallo, nel nostro caso {4;5;6;7}. Dobbiamo "spostare" questi numeri del numero di riga totale meno 1, in modo che il primo elemento dell'array diventi l'ultimo numero di riga. Per trovare il numero di riga totale, utilizziamo la funzione ROWS esottraiamo 1 dal suo risultato: (4-1=3). Quindi aggiungiamo 3 a ogni elemento della matrice iniziale per effettuare lo spostamento richiesto: {4;5;6;7} + 3 = {7;8;9;10}.
Il numero di colonna viene calcolato in modo analogo: {2,3,4}+3-1 = {4,5,6}.
Dalle matrici di numeri di riga e di colonna di cui sopra, la funzione INDIRIZZO assembla una matrice di indirizzi di cella, ma restituisce solo il primo corrispondente all'ultima cella dell'intervallo.
Lo stesso risultato può essere ottenuto anche scegliendo i valori massimi dalle matrici dei numeri di riga e di colonna, ma questo funziona solo in una formula di matrice, che richiede la pressione di Ctrl + Maiusc + Invio per essere completata correttamente:
=INDIRIZZO(MAX(ROW(Vendite)), MAX(COLONNA(Vendite))
Come ottenere l'indirizzo completo di un intervallo di nomi
Per restituire l'indirizzo completo di un intervallo denominato, è sufficiente concatenare le due formule degli esempi precedenti e inserire l'operatore di intervallo (:) nel mezzo.
INDIRIZZO(FILO( gamma ), COLONNA( gamma )) & ":" & ADDRESS(ROW( gamma ) + VOCI( gamma )-1, COLONNA( gamma ) + COLONNE( gamma )-1)Per farlo funzionare per il nostro set di dati di esempio, sostituiamo il generico "range" con il nome del range reale "Sales":
=ADDRESS(ROW(Sales), COLUMN(Sales)) & ":" & ADDRESS(ROW(Sales) + ROWS(Sales)-1, COLUMN(Sales) + COLUMNS(Sales)-1)
E ottenere l'indirizzo completo dell'intervallo come un assoluto riferimento $B$4:$D$7:
Per restituire l'indirizzo dell'intervallo come un valore relativo (senza il segno $, come B4:D7), impostare l'argomento abs_num in entrambe le funzioni ADDRESS a 4:
=ADDRESS(ROW(Sales), COLUMN(Sales), 4) & ":" & ADDRESS(ROW(Sales) + ROWS(Sales)-1, COLUMN(Sales) + COLUMNS(Sales)-1, 4)
Naturalmente, le stesse modifiche possono essere apportate nelle formule individuali per la prima e l'ultima cella e il risultato sarà simile a questo:
Come ottenere l'indirizzo di un intervallo con nome in Excel 365 e Excel 2021
A differenza del tradizionale comportamento "una formula - una cella" delle versioni precedenti, nel nuovo Excel ogni formula che può potenzialmente restituire più valori lo fa automaticamente. Questo comportamento si chiama "spilling".
Ad esempio, invece di restituire l'indirizzo della prima cella, la formula seguente restituisce gli indirizzi di ogni singola cella di un intervallo denominato:
=INDIRIZZO(ROW(Vendite), COLONNA(Vendite))
Per ottenere l'indirizzo del file prima cella è necessario attivare l'intersezione implicita, che è attivata per impostazione predefinita in Excel 2019 e versioni precedenti. A tale scopo, anteporre il simbolo @ (operatore di intersezione implicita) ai nomi degli intervalli:
=INDIRIZZO(@ROW(Vendite), @COLUMN(Vendite))
In modo analogo, è possibile correggere altre formule.
Per ottenere ultima cella nell'intervallo:
=ADDRESS(@ROW(Sales) + ROWS(Sales)-1, @COLUMN(Sales) + COLUMNS(Sales)-1)
Per ottenere il indirizzo di un intervallo denominato :
=INDIRIZZO(@ROW(Sales), @COLUMN(Sales)) & ":" & INDIRIZZO(@ROW(Sales) + ROWS(Sales)-1, @COLUMN(Sales) + COLUMNS(Sales)-1)
La schermata seguente mostra i risultati:
Suggerimento: quando si apre un foglio di lavoro con formule create in una versione precedente di Excel in array dinamico, Excel inserisce automaticamente un operatore di intersezione implicito.
Ecco come si restituisce l'indirizzo di una cella in Excel. Per dare un'occhiata più da vicino a tutte le formule discusse in questo tutorial, potete scaricare la nostra cartella di lavoro di esempio qui sotto. Vi ringrazio per la lettura e spero di vedervi sul nostro blog la prossima settimana!
Eserciziario da scaricare
Funzione INDIRIZZO di Excel - esempi di formule (file .xlsx)