![](https://cdn.wiki-base.com/7469547/excel_formula_copy_value_from_every_nth_row__2.png.webp)
Formula generica
=OFFSET($B$5,(ROW(A1)*n)-1,0)
Sommario
Per copiare valori o generare riferimenti con uno schema come ogni 3a riga, ogni 7a riga, ecc. È possibile utilizzare una formula basata sulle funzioni OFFSET e RIGA. Nell'esempio mostrato, la formula in D5 è:
=OFFSET($B$5,(ROW(D1)*3)-1,0)
Che può essere copiato nella colonna D per riprendere l'ennesimo valore dalla colonna B.
Spiegazione
In Excel, non è possibile copiare facilmente le formule che devono saltare righe o colonne seguendo un determinato schema, perché i riferimenti nella formula cambieranno automaticamente in base alla relazione tra la cella di origine originale e la nuova cella di destinazione. Tuttavia, con un po 'di lavoro è possibile costruire riferimenti a formule che seguono schemi specifici.
In questo caso, stiamo usando la funzione OFFSET, progettata per creare riferimenti ad altre celle o intervalli di celle, in base a un dato punto di partenza o origine.
Nell'esempio mostrato, la cella iniziale è B5, fornita a OFFSET come argomento di riferimento e fissata come riferimento assoluto in modo che non cambierà quando la formula viene copiata:
=OFFSET($B$5
Per calcolare il valore corretto per l'argomento righe, utilizziamo una formula secondaria basata sulla funzione RIGA:
(ROW(D1)*3)-1
A Riga viene assegnata la prima cella nella stessa colonna e restituisce 1. Questo risultato viene moltiplicato per n, che in questo esempio è 3 per ottenere 3.
Quando la formula viene copiata lungo la colonna, il valore restituito da RIGA aumenta di 1, che è ciò che crea l '"ennesimo modello".
Il motivo per cui sottraiamo 1 in ogni caso è perché la funzione OFFSET non include la cella di riferimento quando viene applicato l'argomento righe. In altre parole, l'offset di una riga da A1 restituisce A2:
=OFFSET(A1,1,0) // returns A2
Sottraendo 1 si tiene conto di questo comportamento.
A partire da 1
Se vuoi iniziare a copiare dalla prima riga, quindi seguire ogni ennesimo schema, puoi regolare la formula in questo modo:
=OFFSET($B$5,(ROW(A1)-1)*n,0)