Mantieni la stessa riga quando vengono inserite nuove righe


0

Ho una formula CountA:

=COUNTA('0 Data Summary'!B10:B108)

e una macro che crea una nuova riga di dati client nella riga 10 ogni volta e tutti gli altri dati client si spostano di una riga. Funziona bene ma, quando una nuova riga viene inserita nella riga 10 tramite macro (per un nuovo cliente aggiungere) la formula cambia in:

=COUNTA('0 Data Summary'!B11:B109)

Voglio che mantenga B10e non cambi B11. Il passaggio a 109va bene perché voglio che rimanga all'interno dell'intervallo.

Ho provato a mettere i simboli del dollaro ma non ha funzionato.


L'unico modo che conosco per raggiungere questo obiettivo è con la funzione INDIRETTA come =COUNTA(INDIRECT("'0 Data Summary'!B10:B108")).
Jeeped


1
Oh bene. Sarebbe (leggermente) diverso allora. :)=COUNTA(INDIRECT("'0 Data Summary'!B10:B"&ROW(108:108)))
Jeeped

È possibile utilizzare Index invece di =COUNTA(INDEX(B:B,10):B108)
Volatile

Risposte:


3

Puoi fare il primo riferimento sempre facendo riferimento alla decima riga nella colonna B usando Index, come

=COUNTA(INDEX('0 Data Summary'!B:B,10):'0 Data Summary'!B109)

+1 per l'utilizzo di INDICE per allontanarsi dalla funzione volatile INDIRETTO .
Jeeped

0

Simile alla risposta di Teylyn, potresti ancorare concretamente l'indirizzo iniziale trasformando il suo indirizzo in una stringa di testo:

=COUNTA(INDIRECT("'0 Data Summary'!B10"):'0 Data Summary'!B108)

e usando la INDIRECT()funzione per de-referenziare quella stringa (cioè, per trattarla come un indirizzo di cella e recuperare il contenuto della cella identificata).


Tieni presente che Indirect è volatile e causerà un ricalcolo completo del foglio di lavoro quando viene modificata una cella. Le funzioni volatili possono causare lentezza con grandi cartelle di lavoro.
teylyn,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.