Risolto estrarre e ordinare dati di una data certa

cristian69

Utente junior
7 Ottobre 2018
41
1
8
excel 2007
0
Buon Giorno ho un foglio lavoro che riempio giornalmente e mi dà vari risultati in altri fogli ma in questo momento sono arenato ho fatto un piccolo file di esempio che forse sarà piu chiaro della mia spiegazione
scegliendo una data ho bisogno che mi vengano restituiti tutti i valori di quel giorno che si troveranno in una riga e varie colonne in ordine crescente.....

non so proprio come cominciare
indicatemi la strada da percorrere grazie
 

Allegati

ges

Excel/VBA Expert
Amministratore
Expert
21 Giugno 2015
16.333
523
113
Como
2011MAC 2016WIN
235
Ciao,
per me non è molto chiaro l'esempio, non riporta quello che vuoi ottenere, giusto?
 

cristian69

Utente junior
7 Ottobre 2018
41
1
8
excel 2007
0
sono tre esempi uno vuoto e 2 riportano quello che devo ottenere inserendo la data
te lo coloro cosi e piu chiaro
 

genio66

Utente abituale
Expert
25 Marzo 2017
868
195
43
Friuli
LibreOffice 6
65
Buonasera! con le formule non ho trovato il modo di ordinare in modo crescente, per il resto, in B30 per le note
=SE(INDICE($I$2:$I$9;CONFRONTA($A$29;$A$2:$A$10;0))=0;"";INDICE($I$2:$I$9;CONFRONTA($A$29;$A$2:$A$10;0)))
In E30
=SE.ERRORE(INDICE($B$1:$G$1;;PICCOLO(SE((INDIRETTO("B"&CONFRONTA($A$29;$A$2:$A$10;0)+1&":G"&CONFRONTA($A$29;$A$2:$A$10;0)+1)<>"")*($B$1:$G$1<>"cosa");RIF.COLONNA($B$1:$G$1)-1);RIF.RIGA($A1)));"")
formula matriciale da confermare con la combinazione CTRL+MAIUSCOLO+INVIO
In C30
=SE.ERRORE(SINISTRA(INDICE($B$2:$G$10;CONFRONTA($A$29;$A$2:$A$10;0);CONFRONTA($E30;$B$1:$G$1;0)+1);2);"")
Qui però per avere un risultato corretto devi inserire uno spazio la dove il dato comincia con una sola cifra.
Infine in D30
=SE.ERRORE(INDICE($B$2:$G$10;CONFRONTA($A$29;$A$2:$A$10;0);CONFRONTA($E30;$B$1:$G$1;0));"")
Queste per la prima tabella, nella seconda va modificato nelle formule $A$29 con $A$39 (o con la cella dove si trova la data per esaminare i valori)
 

Allegati

Ultima modifica:

cristian69

Utente junior
7 Ottobre 2018
41
1
8
excel 2007
0
ho cominciato ad applicarlo al mio file... devo ripassare tutti i riferimenti e riparare qualche mia inesatezza ma come inizio ci siamo per ora grazie al piu presto faccio sapere i risultato:felice:
a tutti buon lavoro
 
Ultima modifica:

pkrome59

Utente assiduo
Expert
26 Settembre 2015
1.755
253
83
59
Reggio Calabria
Office 2013
32
Buona sera, rispetto al file d'esempi senza apportare alcuna modifica strutturale, un'alternativa alle ottime soluzioni già proposte, potrebbe essere la seguente:

In F30:
=SE(E($C30="";$D30="";$E30="");"";SE.ERRORE(SE(INDICE($I$2:$I$9;CONFRONTA($A$29;$A$2:$A$10;0))=0;"";INDICE($I$2:$I$9;CONFRONTA($A$29;$A$2:$A$10;0)));""))
da trascinare giù;

In C30:
=SE.ERRORE(PICCOLO(SE(VALORE(SINISTRA(SE(T(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})))<>"";T(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})));NUM(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7}))));LUNGHEZZA(SE(T(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})))<>"";T(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})));NUM(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})))))-LUNGHEZZA(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SE(T(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})))<>"";T(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})));NUM(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7}))));0;"");1;"");2;"");3;"");4;"");5;"");6;"");7;"");8;"");9;""))))<>0;VALORE(SINISTRA(SE(T(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})))<>"";T(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})));NUM(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7}))));LUNGHEZZA(SE(T(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})))<>"";T(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})));NUM(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})))))-LUNGHEZZA(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SE(T(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})))<>"";T(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})));NUM(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7}))));0;"");1;"");2;"");3;"");4;"");5;"");6;"");7;"");8;"");9;""))));"");RIGHE($A$1:$A1));"")
formula matrice da attivare con i tasti ctrl+maiuscolo+invio e successivamente da trascinare giù;

In D30:
=SE($C30="";"";SE.ERRORE(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;AGGREGA(15;6;(RIF.RIGA($C$30:$C$34)-RIF.RIGA($C$30)+1)/(SE(VALORE(SINISTRA(SE(T(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})))<>"";T(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})));NUM(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7}))));LUNGHEZZA(SE(T(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})))<>"";T(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})));NUM(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})))))-LUNGHEZZA(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SE(T(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})))<>"";T(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})));NUM(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7}))));0;"");1;"");2;"");3;"");4;"");5;"");6;"");7;"");8;"");9;""))))<>0;VALORE(SINISTRA(SE(T(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})))<>"";T(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})));NUM(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7}))));LUNGHEZZA(SE(T(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})))<>"";T(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})));NUM(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})))))-LUNGHEZZA(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SE(T(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})))<>"";T(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})));NUM(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7}))));0;"");1;"");2;"");3;"");4;"");5;"");6;"");7;"");8;"");9;""))));"")=$C30);CONTA.SE($C$30:$C30;$C30))*2));""))
formula matrice da attivare con i tasti ctrl+maiuscolo+invio e successivamente da trascinare giù;

In E30:
=SE($C30="";"";SE.ERRORE(INDIRETTO(INDIRIZZO(1;AGGREGA(15;6;(RIF.RIGA($C$30:$C$34)-RIF.RIGA($C$30)+1)/(SE(VALORE(SINISTRA(SE(T(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})))<>"";T(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})));NUM(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7}))));LUNGHEZZA(SE(T(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})))<>"";T(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})));NUM(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})))))-LUNGHEZZA(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SE(T(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})))<>"";T(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})));NUM(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7}))));0;"");1;"");2;"");3;"");4;"");5;"");6;"");7;"");8;"");9;""))))<>0;VALORE(SINISTRA(SE(T(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})))<>"";T(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})));NUM(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7}))));LUNGHEZZA(SE(T(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})))<>"";T(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})));NUM(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})))))-LUNGHEZZA(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SE(T(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})))<>"";T(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})));NUM(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7}))));0;"");1;"");2;"");3;"");4;"");5;"");6;"");7;"");8;"");9;""))));"")=$C30);CONTA.SE($C$30:$C30;$C30))*2));""))
formula matrice da attivare con i tasti ctrl+maiuscolo+invio e successivamente da trascinare giù.
Allego il file di prova, fa sapere se va bene, ciao.
 

Allegati

cristian69

Utente junior
7 Ottobre 2018
41
1
8
excel 2007
0
Grazie Pkrome59 per il tempo dedicato.
Ho appena aperto il tuo file notando che le note vengono ripetute più volte il che non e necessario anche perche a volte sono lunghe e diventerebbero illeggibili.
Poi -almeno nel mio pc -le colonne quanto e chi non funzionano e non riportano nulla.
Nota che ho solo aperto il file senza modificarlo, ma non mi sembra girare bene
 

cristian69

Utente junior
7 Ottobre 2018
41
1
8
excel 2007
0
buonasera genio66 ho messo il riepilogo su un foglio nuovo e espanso i vari parametri in base alle mie esigenze

credo di aver sbagliato qualcosa perche oltre al .....matias.... non riesco ad ottenere altri risultati ce qualcosa che mi sfugge
 

cristian69

Utente junior
7 Ottobre 2018
41
1
8
excel 2007
0
Buonasera! con le formule non ho trovato il modo di ordinare in modo crescente, per il resto, in B30 per le note
=SE(INDICE($I$2:$I$9;CONFRONTA($A$29;$A$2:$A$10;0))=0;"";INDICE($I$2:$I$9;CONFRONTA($A$29;$A$2:$A$10;0)))
In E30
=SE.ERRORE(INDICE($B$1:$G$1;;PICCOLO(SE((INDIRETTO("B"&CONFRONTA($A$29;$A$2:$A$10;0)+1&":G"&CONFRONTA($A$29;$A$2:$A$10;0)+1)<>"")*($B$1:$G$1<>"cosa");RIF.COLONNA($B$1:$G$1)-1);RIF.RIGA($A1)));"")
formula matriciale da confermare con la combinazione CTRL+MAIUSCOLO+INVIO
In C30
=SE.ERRORE(SINISTRA(INDICE($B$2:$G$10;CONFRONTA($A$29;$A$2:$A$10;0);CONFRONTA($E30;$B$1:$G$1;0)+1);2);"")
Qui però per avere un risultato corretto devi inserire uno spazio la dove il dato comincia con una sola cifra.
Infine in D30
=SE.ERRORE(INDICE($B$2:$G$10;CONFRONTA($A$29;$A$2:$A$10;0);CONFRONTA($E30;$B$1:$G$1;0));"")
Queste per la prima tabella, nella seconda va modificato nelle formule $A$29 con $A$39 (o con la cella dove si trova la data per esaminare i valori)
buonasera ho messo il riepilogo su un foglio nuovo e espanso i vari parametri in base alle mie esigenze

credo di aver sbagliato qualcosa perche oltre al .....matias.... non riesco ad ottenere altri risultati ce qualcosa che mi sfugge
intendo dire che mi scrive solo la prima riga poi basta
qualche parametro che aumentando le colonne e le righe dovrei cambiare?
 

pkrome59

Utente assiduo
Expert
26 Settembre 2015
1.755
253
83
59
Reggio Calabria
Office 2013
32
Ciao, mi sono accorto adesso che utilizzi office 2007 che non supporta la funzione aggrega per cui nel tuo caso va sostituita con la funzione piccolo().

In F30:
=SE(E($C30="";$D30="";$E30="");"";SE.ERRORE(SE(INDICE($I$2:$I$9;CONFRONTA($A$29;$A$2:$A$10;0))=0;"";INDICE($I$2:$I$9;CONFRONTA($A$29;$A$2:$A$10;0)));""))
da non trascinare;

In C30 mantieni la stessa formula;

In D30:
=SE($C30="";"";SE.ERRORE(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;PICCOLO(SE.ERRORE(SE((SE(VALORE(SINISTRA(SE(T(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})))<>"";T(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})));NUM(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7}))));LUNGHEZZA(SE(T(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})))<>"";T(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})));NUM(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})))))-LUNGHEZZA(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SE(T(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})))<>"";T(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})));NUM(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7}))));0;"");1;"");2;"");3;"");4;"");5;"");6;"");7;"");8;"");9;""))))<>0;VALORE(SINISTRA(SE(T(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})))<>"";T(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})));NUM(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7}))));LUNGHEZZA(SE(T(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})))<>"";T(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})));NUM(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})))))-LUNGHEZZA(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SE(T(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})))<>"";T(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})));NUM(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7}))));0;"");1;"");2;"");3;"");4;"");5;"");6;"");7;"");8;"");9;""))));"")=$C30);RIF.RIGA($C$30:$C$34)-RIF.RIGA($C$30)+1);FALSO);CONTA.SE($C$30:$C30;$C30))*2));""))
formula matrice da attivare con i tasti ctrl+maiuscolo+invio e successivamente da trascinare giù;

In E30:
=SE($C30="";"";SE.ERRORE(INDIRETTO(INDIRIZZO(1;PICCOLO(SE.ERRORE(SE((SE(VALORE(SINISTRA(SE(T(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})))<>"";T(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})));NUM(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7}))));LUNGHEZZA(SE(T(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})))<>"";T(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})));NUM(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})))))-LUNGHEZZA(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SE(T(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})))<>"";T(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})));NUM(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7}))));0;"");1;"");2;"");3;"");4;"");5;"");6;"");7;"");8;"");9;""))))<>0;VALORE(SINISTRA(SE(T(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})))<>"";T(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})));NUM(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7}))));LUNGHEZZA(SE(T(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})))<>"";T(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})));NUM(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})))))-LUNGHEZZA(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SE(T(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})))<>"";T(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7})));NUM(INDIRETTO(INDIRIZZO(CONFRONTA($A$29;$A$2:$A$10;0)+1;{3.5.7}))));0;"");1;"");2;"");3;"");4;"");5;"");6;"");7;"");8;"");9;""))));"")=$C30);RIF.RIGA($C$30:$C$34)-RIF.RIGA($C$30)+1);FALSO);CONTA.SE($C$30:$C30;$C30))*2));""))
formula matrice da attivare con i tasti ctrl+maiuscolo+invio e successivamente da trascinare giù;
Allego il file di prova, fa sapere se va bene, ciao.
 

Allegati

  • Like
Reactions: ges

pkrome59

Utente assiduo
Expert
26 Settembre 2015
1.755
253
83
59
Reggio Calabria
Office 2013
32
Ciao se i dati da analizzare hanno le caratteristiche del file postato per ultimo, le formule si riducono di molto.
Con queste condizioni si ha:
In foglio "Controllo Dati"
In B8:
=SE($C$8="";"";INDICE(Giorni..!$B$3:$B$109;CONFRONTA($A$6;Giorni..!$A$3:$A$109;0)))

In C8:
=SE.ERRORE(PICCOLO(SE(NUM(INDIRETTO("Giorni..!"&INDIRIZZO(CONFRONTA('Controllo Dati'!$A$6;Giorni..!$A$3:$A$109;0)+2;{6.8.10.12})))<>0;NUM(INDIRETTO("Giorni..!"&INDIRIZZO(CONFRONTA('Controllo Dati'!$A$6;Giorni..!$A$3:$A$109;0)+2;{6.8.10.12})));"");RIGHE($A$1:$A1));"")
da trascinare giù;

In D8:
=SE($C8="";"";SE.ERRORE(INDIRETTO("Giorni..!"&INDIRIZZO(CONFRONTA($A$6;Giorni..!$A$3:$A$109;0)+2;PICCOLO(SE.ERRORE(SE(NUM(INDIRETTO("Giorni..!"&INDIRIZZO(CONFRONTA($A$6;Giorni..!$A$3:$A$109;0)+2;{6.8.10.12})))=$C8;RIF.RIGA($A$3:$A$109)-RIF.RIGA($A$3)+1);FALSO);CONTA.SE($C$8:$C8;$C8))*2+3));""))
formula matrice da attivare con i tasti ctrl+maiuscolo+invio e successivamente da trascinare giù;

In E8:
=SE($C8="";"";SE.ERRORE(INDIRETTO("Giorni..!"&INDIRIZZO(2;PICCOLO(SE.ERRORE(SE(NUM(INDIRETTO("Giorni..!"&INDIRIZZO(CONFRONTA($A$6;Giorni..!$A$3:$A$109;0)+2;{6.8.10.12})))=$C8;RIF.RIGA($A$3:$A$109)-RIF.RIGA($A$3)+1);FALSO);CONTA.SE($C$8:$C8;$C8))*2+3));""))
formula matrice da attivare con i tasti ctrl+maiuscolo+invio e successivamente da trascinare giù;
Allego il file di prova, ciao.
 

Allegati

  • Like
Reactions: Gerardo Zuccalà

cristian69

Utente junior
7 Ottobre 2018
41
1
8
excel 2007
0
Ciao se i dati da analizzare hanno le caratteristiche del file postato per ultimo, le formule si riducono di molto.
Con queste condizioni si ha:
In foglio "Controllo Dati"
In B8:
=SE($C$8="";"";INDICE(Giorni..!$B$3:$B$109;CONFRONTA($A$6;Giorni..!$A$3:$A$109;0)))

In C8:
=SE.ERRORE(PICCOLO(SE(NUM(INDIRETTO("Giorni..!"&INDIRIZZO(CONFRONTA('Controllo Dati'!$A$6;Giorni..!$A$3:$A$109;0)+2;{6.8.10.12})))<>0;NUM(INDIRETTO("Giorni..!"&INDIRIZZO(CONFRONTA('Controllo Dati'!$A$6;Giorni..!$A$3:$A$109;0)+2;{6.8.10.12})));"");RIGHE($A$1:$A1));"")
da trascinare giù;

In D8:
=SE($C8="";"";SE.ERRORE(INDIRETTO("Giorni..!"&INDIRIZZO(CONFRONTA($A$6;Giorni..!$A$3:$A$109;0)+2;PICCOLO(SE.ERRORE(SE(NUM(INDIRETTO("Giorni..!"&INDIRIZZO(CONFRONTA($A$6;Giorni..!$A$3:$A$109;0)+2;{6.8.10.12})))=$C8;RIF.RIGA($A$3:$A$109)-RIF.RIGA($A$3)+1);FALSO);CONTA.SE($C$8:$C8;$C8))*2+3));""))
formula matrice da attivare con i tasti ctrl+maiuscolo+invio e successivamente da trascinare giù;

In E8:
=SE($C8="";"";SE.ERRORE(INDIRETTO("Giorni..!"&INDIRIZZO(2;PICCOLO(SE.ERRORE(SE(NUM(INDIRETTO("Giorni..!"&INDIRIZZO(CONFRONTA($A$6;Giorni..!$A$3:$A$109;0)+2;{6.8.10.12})))=$C8;RIF.RIGA($A$3:$A$109)-RIF.RIGA($A$3)+1);FALSO);CONTA.SE($C$8:$C8;$C8))*2+3));""))
formula matrice da attivare con i tasti ctrl+maiuscolo+invio e successivamente da trascinare giù;
Allego il file di prova, ciao.
buona sera notavo che sei riuscito a mettere in ordine crescente i giri ma hai tolto la funzione sinistra per copiare solo 2 dati nella colonne cosa/giro

ma sopratutto perche se aggiungo un altro dato in un altra colonna non lo vede come dovrei modificare la formula per aumentare le colonne
 

Allegati

cristian69

Utente junior
7 Ottobre 2018
41
1
8
excel 2007
0
Buonasera! con le formule non ho trovato il modo di ordinare in modo crescente, per il resto, in B30 per le note
=SE(INDICE($I$2:$I$9;CONFRONTA($A$29;$A$2:$A$10;0))=0;"";INDICE($I$2:$I$9;CONFRONTA($A$29;$A$2:$A$10;0)))
In E30
=SE.ERRORE(INDICE($B$1:$G$1;;PICCOLO(SE((INDIRETTO("B"&CONFRONTA($A$29;$A$2:$A$10;0)+1&":G"&CONFRONTA($A$29;$A$2:$A$10;0)+1)<>"")*($B$1:$G$1<>"cosa");RIF.COLONNA($B$1:$G$1)-1);RIF.RIGA($A1)));"")
formula matriciale da confermare con la combinazione CTRL+MAIUSCOLO+INVIO
In C30
=SE.ERRORE(SINISTRA(INDICE($B$2:$G$10;CONFRONTA($A$29;$A$2:$A$10;0);CONFRONTA($E30;$B$1:$G$1;0)+1);2);"")
Qui però per avere un risultato corretto devi inserire uno spazio la dove il dato comincia con una sola cifra.
Infine in D30
=SE.ERRORE(INDICE($B$2:$G$10;CONFRONTA($A$29;$A$2:$A$10;0);CONFRONTA($E30;$B$1:$G$1;0));"")
Queste per la prima tabella, nella seconda va modificato nelle formule $A$29 con $A$39 (o con la cella dove si trova la data per esaminare i valori)
eccomi avrei modificato le formule con i nuovi colegamenti a altre celle ma a parte le note non funziona, non riesco a capire cosa mi sfugge.... un aiutino
:piango:considerando che dovrei usare tutte le colonnne
 

Allegati

Ultima modifica:

pkrome59

Utente assiduo
Expert
26 Settembre 2015
1.755
253
83
59
Reggio Calabria
Office 2013
32
Ciao basta inserire un intervallo espandibile, per cui le formule diverranno:
In foglio "Controllo Dati"
In B8:
=SE($C$8="";"";INDICE(Giorni..!$B$3:$B$109;CONFRONTA($A$6;Giorni..!$A$3:$A$109;0)))

In C8:
=SE.ERRORE(PICCOLO(SE(NUM(INDIRETTO("Giorni..!"&INDIRIZZO(CONFRONTA('Controllo Dati'!$A$6;Giorni..!$A$3:$A$109;0)+2;PICCOLO(SE(SE.ERRORE(TROVA(Giorni..!$F$2;Giorni..!$A$2:$Z$2);0)>0;RIF.COLONNA(Giorni..!$A$2:$Z$2));RIF.RIGA(INDIRETTO("A1:A"&MATR.SOMMA.PRODOTTO(SE.ERRORE(TROVA(Giorni..!$F$2;Giorni..!$A$2:$Z$2);0))))))))<>0;NUM(INDIRETTO("Giorni..!"&INDIRIZZO(CONFRONTA('Controllo Dati'!$A$6;Giorni..!$A$3:$A$109;0)+2;PICCOLO(SE(SE.ERRORE(TROVA(Giorni..!$F$2;Giorni..!$A$2:$Z$2);0)>0;RIF.COLONNA(Giorni..!$A$2:$Z$2));RIF.RIGA(INDIRETTO("A1:A"&MATR.SOMMA.PRODOTTO(SE.ERRORE(TROVA(Giorni..!$F$2;Giorni..!$A$2:$Z$2);0))))))));"");RIGHE($A$1:$A1));"")
formula matrice da attivare con i tasti ctrl+maiuscolo+invio e successivamente da trascinare giù;

In D8:
=SE($C8="";"";SE.ERRORE(INDIRETTO("Giorni..!"&INDIRIZZO(CONFRONTA($A$6;Giorni..!$A$3:$A$109;0)+2;PICCOLO(SE.ERRORE(SE(NUM(INDIRETTO("Giorni..!"&INDIRIZZO(CONFRONTA($A$6;Giorni..!$A$3:$A$109;0)+2;PICCOLO(SE(SE.ERRORE(TROVA(Giorni..!$F$2;Giorni..!$A$2:$Z$2);0)>0;RIF.COLONNA(Giorni..!$A$2:$Z$2));RIF.RIGA(INDIRETTO("A1:A"&MATR.SOMMA.PRODOTTO(SE.ERRORE(TROVA(Giorni..!$F$2;Giorni..!$A$2:$Z$2);0))))))))=$C8;RIF.RIGA($A$3:$A$109)-RIF.RIGA($A$3)+1);FALSO);CONTA.SE($C$8:$C8;$C8))*2+3));""))
formula matrice da attivare con i tasti ctrl+maiuscolo+invio e successivamente da trascinare giù;

In E8:
=SE($C8="";"";SE.ERRORE(INDIRETTO("Giorni..!"&INDIRIZZO(2;PICCOLO(SE.ERRORE(SE(NUM(INDIRETTO("Giorni..!"&INDIRIZZO(CONFRONTA($A$6;Giorni..!$A$3:$A$109;0)+2;PICCOLO(SE(SE.ERRORE(TROVA(Giorni..!$F$2;Giorni..!$A$2:$Z$2);0)>0;RIF.COLONNA(Giorni..!$A$2:$Z$2));RIF.RIGA(INDIRETTO("A1:A"&MATR.SOMMA.PRODOTTO(SE.ERRORE(TROVA(Giorni..!$F$2;Giorni..!$A$2:$Z$2);0))))))))=$C8;RIF.RIGA($A$3:$A$109)-RIF.RIGA($A$3)+1);FALSO);CONTA.SE($C$8:$C8;$C8))*2+3));""))
formula matrice da attivare con i tasti ctrl+maiuscolo+invio e successivamente da trascinare giù;
In rosso l'intervallo espandibile.
Allego il file di prova, ciao.
 

Allegati

  • Like
Reactions: cristian69

genio66

Utente abituale
Expert
25 Marzo 2017
868
195
43
Friuli
LibreOffice 6
65
Ciao ho corretto le formule adattandole al nuovo file.
In E8, matriciale
=SE.ERRORE(INDICE('Giorni..'!$E$2:$AA$2;PICCOLO(SE((INDIRETTO("'Giorni..'!E"&CONFRONTA($A$6;'Giorni..'!$A$3:$A$109;0)+2&":AA"&CONFRONTA($A$6;'Giorni..'!$A$3:$A$109;0)+2)<>"")*('Giorni..'!$E$2:$AA$2<>"cosa");RIF.COLONNA('Giorni..'!$E$2:$AA$2)-4);RIF.RIGA($A1)));"")

In rosso ti ho messo le modifiche: il nome del foglio 'Giorni..'!
Il +2 dopo il confronta perchè l'intervallo comincia da A3 e dovendo trovare il numero di riga bisogna correggere aggiungendo 2 al risultato del confronta.
Il -4 perchè l'intervallo delle intestazioni comincia dalla colonna E e siccome RIF.COLONNA('Giorni..'!$E$2:$AA$2) inizia il conteggio delle colonne da 5 (5, 6, 7, ecc...) per farlo iniziare da 1 si sottrae il numero di colonne che precedono l'inizio dell'intervallo, in questo caso per l'appunto 4.

Le altre due formule sono, in D8
=SE.ERRORE(INDICE('Giorni..'!$E$3:$AA$109;CONFRONTA($A$6;'Giorni..'!$A$3:$A$109;0);CONFRONTA($E8;'Giorni..'!$E$2:$AA$2;0));"")
In C8
=SE.ERRORE(SINISTRA(INDICE('Giorni..'!$E$3:$AA$109;CONFRONTA($A$6;'Giorni..'!$A$3:$A$109;0);CONFRONTA($E8;'Giorni..'!$E$2:$AA$2;0)+1);2);"")
In queste ultime due è bastato aggiungere il nome del foglio prima dell'intervallo di celle.

Ps.: come prima le mie formule non mettono in ordine i risultati, a differenza di quelle di pkrome59Saluto_saluto
... ah dimenticavo che nella prima formula ho aumentato il range fino alla colonna AA
 

Allegati

Ultima modifica:

Sostieni ForumExcel

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