Incremento dei riferimenti per multipli durante la copia delle formule (Microsoft Excel)
Tim ha un foglio di lavoro in cui la cella B1 contiene la formula = SUM (A1: A7).
Vuole copiare questa formula e fare in modo che l’intervallo venga incrementato di 7 righe, in modo che la cella B2 contenga la formula = SOMMA (A8: A14), la cella B3 conterrà = SOMMA (A15: A21), ecc. quando lo copia, ogni “fine” dell’intervallo viene incrementato solo di 1 dove dovrebbe essere incrementato di 7 per soddisfare le sue necessità. Si chiede come può fare in modo che Excel esegua l’incremento corretto.
Non è possibile fare in modo che Excel esegua l’incremento corretto utilizzando copia e incolla; semplicemente non lo farà. Il motivo è semplice: ci sono momenti in cui l’incremento di 1 ha senso da una prospettiva formulaica. Poiché Excel non può leggere la tua mente (almeno fino alla prossima versione:>)), presuppone che dovrebbe aumentare solo di 1.
La soluzione è cambiare la tua formula. Usando un paio di funzioni del foglio di lavoro puoi fare in modo che Excel crei l’intervallo desiderato per la somma. Considera il seguente esempio di una formula che fornirà la somma desiderata:
=SUM(INDIRECT("A" & (ROW()-1)7+1 & ":A" & (ROW()-1)7+7))
Se inserisci questa formula nella cella B1, funziona perché dà un’occhiata al numero di riga (restituito dalla funzione RIGA) della riga in cui è contenuta la formula. Poiché si trova nella riga 1, la formula viene valutata in questo modo da Excel:
=SUM(INDIRECT("A" & (ROW()-1)7+1 & ":A" & (ROW()-1)7+7)) =SUM(INDIRECT("A" & (1-1)7+1 & ":A" & (1-1)7+7)) =SUM(INDIRECT("A" & 07+1 & ":A" & 07+7)) =SUM(INDIRECT("A" & 0+1 & ":A" & 0+7)) =SUM(INDIRECT("A" & 1 & ":A" & 7)) =SUM(INDIRECT("A1:A7")) =SUM(A1:A7)
Quello che ottieni in B1 è la somma che desideri. (La funzione INDIRETTO usa il valore nella stringa come se fosse un intervallo reale, che è quello che vuoi.) Quando copi la formula lungo la colonna, man mano che il numero di riga aumenta, la formula fornisce gli incrementi corretti di 7 su entrambe le estremità della gamma.
Ci sono altre variazioni su questa tecnica che puoi usare. L’unica differenza è che le varianti utilizzano diverse funzioni del foglio di lavoro per eseguire la stessa operazione. Ad esempio, la seguente variazione utilizza ancora la funzione ROW, ma alla fine si basa sulla funzione OFFSET per calcolare l’intervallo desiderato:
=SUM(OFFSET(A1,((ROW()-1)6),0):OFFSET(A7,((ROW()-1)6),0))
Un approccio più breve che utilizza OFFSET è il seguente:
=SUM(OFFSET($A$1,ROW()*7-7,0,7,1))
Indipendentemente dall’approccio, probabilmente puoi dire che l’idea è di trovare una formula che utilizzi la riga in cui appare la formula per costruire l’intervallo che desideri veramente. Ciascuno degli esempi fino ad ora presuppone che si inizi nella cella B1. Se vuoi iniziare nella cella B2, dovrai modificare le formule per tenere conto della riga da cui stai iniziando. Per darti solo un’idea di come funziona, se partissi dalla cella B2, invece, le tre formule presentate in questo suggerimento verrebbero modificate nei seguenti modi:
=SUM(INDIRECT("A" & (ROW()-2)7+2 & ":A" & (ROW()-2)7+8)) =SUM(OFFSET(A2,((ROW()-2)6),0):OFFSET(A8,((ROW()-2)6),0)) =SUM(OFFSET($A$2,(ROW()-1)*7-7,0,7,1))
Inizia in una posizione diversa e dovrai apportare ulteriori modifiche alla formula che scegli di utilizzare.
ExcelTips è la tua fonte di formazione economica su Microsoft Excel.
Questo suggerimento (8387) si applica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 ed Excel in Office 365. Puoi trovare una versione di questo suggerimento per la vecchia interfaccia del menu di Excel qui: