Risolto Estrarre dati

nick0573

Utente assiduo
1 Giugno 2015
1,471
5
38
Pistoia
Excel 2016
Miglior risposte
1
#1
ciao vorrei aggiungere ai dati estratti dalla seconda tabella anche i dati dalla prima tabella...........
Grazie ragazzi.....
 
Ultima modifica da un moderatore:

nick0573

Utente assiduo
1 Giugno 2015
1,471
5
38
Pistoia
Excel 2016
Miglior risposte
1
#2
estrarre dati

Ciao a tutti non riesco a capire come usare piu matrine nellindice nel caso in cui abbia più tabelle

Grazie amici
 
Ultima modifica da un moderatore:

Canapone

Excel Expert
Moderatore
Expert
2 Giugno 2015
1,487
162
63
Firenze
2010 su Win
Miglior risposte
73
#3
Ciao

devi lavorare di nuovo con formule matrice

Codice:
=SE.ERRORE(SE.ERRORE(INDICE($A$13:$A$1000;PICCOLO(SE($D$13:$D$1000<>"";RIF.RIGA($A$13:$A$1000)-12);RIGHE($A$1:$A1)));INDICE($F$13:$F$1000;PICCOLO(SE($I$13:$I$1000<>"";RIF.RIGA($A$13:$A$1000)-12);RIGHE($A$1:$A1)-CONTA.VALORI($D$13:$D$37))));"")
Codice:
=SE.ERRORE(SE.ERRORE(INDICE($C$13:$C$1000;PICCOLO(SE($D$13:$D$1000<>"";RIF.RIGA($A$13:$A$1000)-12);RIGHE($A$1:$A1)));INDICE($H$13:$H$1000;PICCOLO(SE($I$13:$I$1000<>"";RIF.RIGA($A$13:$A$1000)-12);RIGHE($A$1:$A1)-CONTA.VALORI($D$13:$D$37))));"")
Codice:
=SE.ERRORE(SE.ERRORE(INDICE($D$13:$D$1000;PICCOLO(SE($D$13:$D$1000<>"";RIF.RIGA($A$13:$A$1000)-12);RIGHE($A$1:$A1)));INDICE($I$13:$I$1000;PICCOLO(SE($I$13:$I$1000<>"";RIF.RIGA($A$13:$A$1000)-12);RIGHE($A$1:$A1)-CONTA.VALORI($D$13:$D$37))));"")
Le formule sono degli standard, puoi usare al posto di piccolo(se AGGREGA se usi Excel 2010/2013

Il segmento della formula forse più interessante è l'uso del conta.valori, sostituibile con un conta.se per tarare RIGHE.

Saluti
 
Ultima modifica:

Canapone

Excel Expert
Moderatore
Expert
2 Giugno 2015
1,487
162
63
Firenze
2010 su Win
Miglior risposte
73
#7
Ciao,

grazie del riscontro: non so se il sistema migliore per lavorare con tante tabelle: si dovrebbero usare una serie di SE.ERRORE tarati dai CONTA.VALORE.

Se servisse, puoi fare delle prove con quattro cinque tabelle.

Se il file deve essere letto solo da versioni di Excel successive al 2007, forse è più pratico usare AGGREGA, eviti la forma matriciale.

Saluti da Firenze
 

nick0573

Utente assiduo
1 Giugno 2015
1,471
5
38
Pistoia
Excel 2016
Miglior risposte
1
#8
Mi puoi caricare la stessa formula con la funzione aggrega?
Grazie

Saluti da Pistoia!
 
Ultima modifica da un moderatore:

Canapone

Excel Expert
Moderatore
Expert
2 Giugno 2015
1,487
162
63
Firenze
2010 su Win
Miglior risposte
73
#11
Ciao,

ti lascio il divertimento: ogni tabella deve essere gestita da un SE.ERRORE(INDICE.

Ricordati di aggiungere i CONTA.VALORI.

Se devi gestire tante tabelle non so se questo è il sistema migliore.

Saluti
 

Canapone

Excel Expert
Moderatore
Expert
2 Giugno 2015
1,487
162
63
Firenze
2010 su Win
Miglior risposte
73
#13
indice( aggrega

Ciao,

cinque tabelle le gestisci bene

Per rendere le formule più robuste prova a sostituire -12

=SE.ERRORE(SE.ERRORE(INDICE($A$13:$A$1000;AGGREGA(15;6;RIF.RIGA($A$13:$A$1000)]-12/($D$13:$D$1000<>"");RIGHE($A$1:$A1)));INDICE($F$13:$F$1000;AGGREGA(15;6;RIF.RIGA($A$13:$A$1000)-12/($I$13:$I$1000<>"");RIGHE($A$1:$A1)-CONTA.VALORI($D$13:$D$37))));"")

con

Codice:
-MIN(RIF.RIGA($A$13:$A$1000))+1

La formula diventa

=SE.ERRORE(SE.ERRORE(INDICE($A$13:$A$1000;AGGREGA(15;6;RIF.RIGA($A$13:$A$1000)-MIN(RIF.RIGA($A$13:$A$1000))+1/($D$13:$D$1000<>"");RIGHE($A$1:$A1)));INDICE($F$13:$F$1000;AGGREGA(15;6;RIF.RIGA($A$13:$A$1000)-MIN(RIF.RIGA($A$13:$A$1000))+1/($I$13:$I$1000<>"");RIGHE($A$1:$A1)-CONTA.VALORI($D$13:$D$37))));"")


Basta usare il trova sostituisci
 
Ultima modifica:

nick0573

Utente assiduo
1 Giugno 2015
1,471
5
38
Pistoia
Excel 2016
Miglior risposte
1
#15
Ciao,

mi sono accorto di un errore che ad esempio la tabella 1 se diventa più lunga e nella colonna D aggiungo un valore nella terza tabella riepilogativa me lo sovrascrive ai quattro numeri gia presenti.......
sara meglio trovare forse un altro tipo di intabellare i dati ?

Se invece continuo a scrivere i dati sotto la tabella due li aggiunge regolarmente nella tabella riepilogativa
 
Ultima modifica da un moderatore:

Canapone

Excel Expert
Moderatore
Expert
2 Giugno 2015
1,487
162
63
Firenze
2010 su Win
Miglior risposte
73
#16
Ciao,

credo che chiunque voglia provare a risponderti abbia bisogno di un esempio. Il punto delicato delle formule sono i CONTA.VALORI: una volta che si attiva il secondo/terzo INDICE devono essere tarati sui risultati già prodotti dal primo/primo + secondo INDICE.

Se non riesci ad allegare il file, prova a condividere la formula che usi.

Forse sono fuori strada.

Saluti
 
Ultima modifica:

nick0573

Utente assiduo
1 Giugno 2015
1,471
5
38
Pistoia
Excel 2016
Miglior risposte
1
#17
ciao ti allego il file.....comunque sei vicino alla soluzione. Ho allungato la tabella 1 con la scritta casa e il valore 1, invece di estrarre
Questo dato nella tabella tre ho sostituito un valore gia presente. se infatti provi a cancellare il valore 1 nella prima tabella,torna nuovamente il terzo valore
 

Canapone

Excel Expert
Moderatore
Expert
2 Giugno 2015
1,487
162
63
Firenze
2010 su Win
Miglior risposte
73
#18
Ciao,

aggiusta i CONTA.VALORI del secondo INDICE in modo che leggano tutti i valori letti dal primo INDICE (in blu)

Esempio

in K13 invece di

Codice:
=SE.ERRORE(SE.ERRORE([COLOR=#0000FF]INDICE($A$13:$A$44;PICCOLO(SE($D$13:$D$44<>"";RIF.RIGA($A$13:$A$44)-12);RIGHE($A$1:$A1)))[/COLOR];INDICE($F$13:$F$44;PICCOLO(SE($I$13:$I$44<>"";RIF.RIGA($A$13:$A$44)-12);RIGHE($A$1:$A1)-CONTA.VALORI($D$13:$D$37))));"")
prova

Codice:
=SE.ERRORE(SE.ERRORE(INDICE($A$13:$A$44;PICCOLO(SE($D$13:$D$44<>"";RIF.RIGA($A$13:$A$44)-12);RIGHE($A$1:$A1)));INDICE($F$13:$F$44;PICCOLO(SE($I$13:$I$44<>"";RIF.RIGA($A$13:$A$44)-12);RIGHE($A$1:$A1)-CONTA.VALORI($D$13:$D$[COLOR=#FF0000]1000[/COLOR]))));"")
----------------------------

Fai attenzione che le formule ora leggono le righe 13 a 1000, se scrivi sotto la tabella 1 degli appunti nella colonna D, la stringa viene intercettata e contata da conta.valori.

Nell'esempio che hai allegato la formula per evitare questi incidenti potrebbe diventare in K13

Codice:
=SE.ERRORE(SE.ERRORE(INDICE($A$13:$A$44;PICCOLO(SE($D$13:$D$44<>"";RIF.RIGA($A$13:$A$44)-12);RIGHE($A$1:$A1)));INDICE($F$13:$F$37;PICCOLO(SE($I$13:$I$37<>"";RIF.RIGA($A$13:$A$37)-12);RIGHE($A$1:$A1)-CONTA.VALORI($D$13:$D$44))));"")
da confermare con control+maiusc+invio

Vale lo stesso per la formula con AGGREGA

Saluti
 
Ultima modifica:

Sostieni ForumExcel

Aiutaci a sostenere le spese e a mantenere online la community attraverso una libera donazione!