Formula di Excel: indirizzo dell'ultima cella nell'intervallo -

Sommario

Formula generica

=ADDRESS(MAX(ROW(rng)),MAX(COLUMN(rng)))

Sommario

Per ottenere l'indirizzo dell'ultima cella in un intervallo, puoi utilizzare la funzione INDIRIZZO insieme alle funzioni RIGA, COLONNA e MAX. Nell'esempio mostrato, la formula in F5 è:

=ADDRESS(MAX(ROW(data)),MAX(COLUMN(data)))

dove i dati sono l'intervallo denominato B5: D14.

Spiegazione

La funzione INDIRIZZO crea un riferimento basato su un dato numero di riga e colonna. In questo caso, vogliamo ottenere l'ultima riga e l'ultima colonna utilizzata dai dati dell'intervallo denominato (B5: D14).

Per utilizzare l'ultima riga, usiamo la funzione ROW insieme alla funzione MAX in questo modo:

MAX(ROW(data))

Poiché i dati contengono più di una riga, ROW restituisce un array di numeri di riga:

(5;6;7;8;9;10;11;12;13;14)

Questo array va direttamente alla funzione MAX, che restituisce il numero più grande:

MAX((5;6;7;8;9;10;11;12;13;14)) // returns 14

Per ottenere l'ultima colonna, usiamo la funzione COLUMN allo stesso modo:

MAX(COLUMN(data))

Poiché i dati contengono tre righe, COLUMN restituisce un array con tre numeri di colonna:

(2,3,4)

e la funzione MAX restituisce di nuovo il numero più grande:

MAX((2,3,4)) // returns 4

Entrambi i risultati vengono restituiti direttamente alla funzione ADDRESS, che costruisce un riferimento alla cella alla riga 14, colonna 4:

=ADDRESS(14,4) // returns $D$14

Se vuoi un indirizzo relativo invece di un riferimento assoluto, puoi fornire 4 per il terzo argomento in questo modo:

=ADDRESS(MAX(ROW(data)),MAX(COLUMN(data)),4) // returns D14

Alternativa alla funzione CELL

Sebbene non sia ovvio, la funzione INDICE restituisce un riferimento, quindi possiamo utilizzare la funzione CELLA con INDICE per ottenere l'indirizzo dell'ultima cella in un intervallo come questo:

=CELL("address",INDEX(data,ROWS(data),COLUMNS(data)))

In questo caso, utilizziamo la funzione INDICE per ottenere un riferimento all'ultima cella dell'intervallo, che determiniamo passando le righe totali e le colonne totali per i dati dell'intervallo in INDICE. Otteniamo le righe totali con la funzione ROWS e le colonne totali con la funzione COLUMNS:

ROWS(data) // returns 10 COLUMNS(data) // returns 3

Con la matrice fornita come dati, INDICE restituisce quindi un riferimento alla cella D14:

INDEX(data,10,3) // returns reference to D14

Abbiamo quindi la funzione CELLA con "indirizzo", per visualizzare l'indirizzo.

Nota: la funzione CELL è una funzione volatile che può causare problemi di prestazioni in cartelle di lavoro grandi o complesse.

Articoli interessanti...