Domanda Excel Definire un intervallo in base al valore di una cella


È possibile definire un intervallo in base a un valore indicato in una cella.

Quindi, ad esempio: La mia selezione è A1: A5 Quelle sono cinque celle. è possibile lasciare che excel determini questo impostando un valore di cella (come B1) su 5.

Ai fini di modificare facilmente un sacco di intervalli con una modifica del valore di una cella. Quindi, se cambierei il valore della cella (B1) a 6. L'intervallo cambierà automaticamente in A1: A6

Ancora più specifico, mi piacerebbe farlo invertire.

Esempio finale: La selezione dovrebbe essere A6: A10 (queste sono le cinque celle). In B1 ho il valore 5. Se cambio il valore di B1 a 6. L'intervallo dovrebbe cambiare in A5: A10

Qualcuno potrebbe aiutarmi ???


21
2018-04-02 20:38


origine


risposte:


Supponiamo di avere il numero 1,2,3,4,5,6, rispettivamente nella cella A1, A2, A3, A4, A5, A6. nella cella A7 calcoliamo la somma di A1: Ax. x è specificato nella cella B1 (in questo caso, x può essere qualsiasi numero compreso tra 1 e 6). nella cella A7, è possibile scrivere il seguente modulo:

=SUM(A1:INDIRECT(CONCATENATE("A",B1))) 

CONCATENATE ti darà l'indice della cella Ax (se metti 3 in B1, CONCATENATE ("A", B1)) dà A3).

Convertire INDIRECT "A3" in un indice.

guarda questo link Utilizzare il valore in una cella come riferimento di cella in una formula?


12
2018-04-02 21:01



Puoi anche utilizzare OFFSET:

OFFSET($A$10,-$B$1+1,0,$B$1)

Sposta la gamma $ A $ 10 su $ B $ 1-1 (diventa $ A $ 6 ($ A $ 5)) e quindi ridimensiona l'intervallo a $ B $ 1 righe (diventa $ A $ 6: $ A $ 10 ($ A $ 5: $ A $ 10))


4
2018-04-02 21:02



Questo dovrebbe essere vicino a quello che stai cercando per il tuo primo esempio:

=SUM(INDIRECT("A1:A"&B1,TRUE))

Questo dovrebbe essere vicino a ciò che stai cercando per il tuo ultimo esempio:

=SUM(INDIRECT("A"&1+B1&":A"&B1,TRUE))

1
2018-04-02 21:05



Ecco un'opzione. Funziona usando la creazione di un INDIRECT(ADDRESS(...)) dal ROW e COLUMN della cella di partenza, A1, fino alla riga iniziale + il numero di righe trattenute B1.

SUM(INDIRECT(ADDRESS(ROW(A1),COLUMN(A1))):INDIRECT(ADDRESS(ROW(A1)+B1,COLUMN(A1))))

A1: è l'inizio dei dati in una colonna "A"

B1: è il numero di righe da sommare


1
2017-07-16 22:51



Sulla base della risposta di @Cici, fornisco una soluzione più generica:

= SUM (INDIRECT (CONCATENATE (B1, C1)): indiretta (CONCATENATE (B2, C2)))

Nella versione italiana di Excel:

= SOMMA (indiretto (concatenati (B1; C1)): indiretto (concatenati (B2; C2)))

Dove le cellule B1-C2 contengono questi valori:

  • A, 1
  • A, 5

È possibile modificare questi valori per cambiare l'intervallo finale desiderato.


Dividere la formula in parti:

  • SUM (INDIRETTO (CONCATENA (B1, C1)): indiretta (CONCATENATE (B2, C2)))
  • CONCATENATE (B1, C1) - il risultato è A1
  • INDIRETTO (CONCATENATO (B1, C1)) - il risultato è riferimento a A1

Quindi:

= SUM (INDIRECT (CONCATENATE (B1, C1)): indiretta (CONCATENATE (B2, C2)))

risultati in

= SUM (A1: A5)


Scriverò qui un paio di parole chiave SEO per gli utenti italiani:

  • come creare dinamicamente l'indirizzo di un intervallo in Excel
  • formula per definire un intervallo di celle in Excel.

Con la formula qui sopra basta scrivere nelle caselle da B1 a C2 gli estremi all'intervallo per vedere cambiare dentro la formula stessa.


1
2017-09-03 16:08



Vecchio post ma questo è esattamente quello di cui avevo bisogno, una semplice domanda, come cambiarlo per contare le colonne anziché Row. Grazie in anticipo. Novizio in Excel.

=SUM(A1:INDIRECT(CONCATENATE("A",C5)))

I miei dati sono A1 B1 C1 D1 ecc piuttosto che A1 A2 A3 A4.


-1
2018-02-07 22:27