Formula di Excel: ottieni i numeri di riga relativi nell'intervallo -

Formula generica

(=ROW(range)-ROW(range.firstcell)+1)

Sommario

Per ottenere un set completo di numeri di riga relativi in ​​un intervallo, è possibile utilizzare una formula di matrice basata sulla funzione RIGA. Nell'esempio mostrato, la formula in B5: B11 è:

(=ROW(B5:B11)-ROW(B5)+1)

Nota: questa è una formula di matrice che deve essere inserita con Control + Maiusc + Invio. Se lo stai inserendo nel foglio di lavoro (e non all'interno di un'altra formula), effettua una selezione che includa più di una riga, inserisci la formula e conferma con Control + Maiusc + Invio.

Questa è la formula che continuerà a generare numeri relativi anche quando l'intervallo viene spostato. Tuttavia, non è una buona scelta se le righe devono essere ordinate, eliminate o aggiunte, perché la formula della matrice impedirà le modifiche. Le opzioni della formula qui spiegate funzioneranno meglio.

Spiegazione

La prima funzione ROW genera un array di 7 numeri come questo:

(5;6;7;8;9;10;11)

La seconda funzione ROW genera un array con un solo elemento come questo:

(5)

che viene quindi sottratto dal primo array per restituire:

(0;1;2;3;4;5;6)

Infine, viene aggiunto 1 per ottenere:

(1;2;3;4;5;6;7)

Versione generica con intervallo denominato

Con un intervallo denominato, è possibile creare una versione più generica della formula utilizzando la funzione MIN o la funzione INDICE. Ad esempio, con l'intervallo denominato "elenco", puoi utilizzare MIN in questo modo:

(ROW(list)-MIN(ROW(list))+1)

Con INDICE, recuperiamo il primo riferimento nell'intervallo denominato e utilizzando ROW su quello:

(=ROW(list)-ROW(INDEX(list,1,1))+1)

Vedrai spesso formule di "riga relativa" come questa all'interno di complesse formule di matrice che richiedono numeri di riga per calcolare un risultato.

Con SEQUENCE

Con la funzione SEQUENZA la formula per restituire i numeri di riga relativi per un intervallo è semplice:

=SEQUENCE(ROWS(range))

La funzione RIGHE fornisce il conteggio delle righe, che viene restituito alla funzione SEQUENZA. SEQUENZA crea quindi un array di numeri, a partire dal numero 1. Quindi, seguendo l'esempio originale sopra, la formula seguente restituisce lo stesso risultato:

=SEQUENCE(ROWS(B5:B11)) // returns (1;2;3;4;5;6;7)

Nota: la formula SEQUENZA è una nuova funzione di matrice dinamica disponibile solo in Excel 365.

Articoli interessanti...