Previous page | 1 | Next page
Facebook  

Come contare quante volte un elemento si ripete relativamente ad un determinato intervallo di date?

Last Update: 9/7/2019 10:31 AM
Author
Print | Email Notification    
Post: 63
Registered in: 9/3/2018
Location: GROTTAGLIE
Age: 21
Junior User
microsoft office 365 plus 16.0.10325
OFFLINE
9/5/2019 10:26 PM
 
Modify
 
Delete
 
Quote

Buonasera a tutti, ho bisogno del vostro aiuto, non ne vengo a capo!
Allego il file esempio.
A partire dalla riga 54 vi è la tabella nella quale riporto, per comodità, solo i valori che mi interessano.
In ogni dato giorno (colonna A) si svolgono uno o più convegni. Viene fatto un appello e nelle due celle affianco (colonna E e colonna F) vengono riportati i nomi delle due persone che hanno presenziato all'evento.
Per esempio, alla data 11/6/2016 (A226) presenziano all'evento gianluca (E226) e francesco (F226). Mi servirebbe sapere quante volte, nei 100 giorni precedenti l'11/6/2016, gianluca e francesco sono stati presenti.

I 100 giorni precedenti l'11/6/2016 sarà il periodo dal 3/3/2016 al 10/6/2016:
nella cella CH226 si riporterà il risultato per la persona che si trova nella cella E226 (in questo caso gianluca) e nella cella CI226 il risultato per la persona che si trova nella colonna F226 (in questo caso Francesco).
Grazie!!! 🙏🙏🙏
P.S.Ero convinta di cavarmela con l'utilizzo della formula CONTA.SE ma purtroppo la non regolarità della frequenza dei convegni non me lo permette 😫

[Edited by Melissa2018 9/5/2019 10:28 PM]
Come copiare ed incollare una colonna di dati almeno 1000 voltecome10/13/2019 2:37 PM by Melissa2018
Data una colonna di numeri (0 ed 1), contare quanti 1 ci sono dopo ogni sequenza di numeri ben definitanumero9/20/2019 9:53 AM by Melissa2018
(Luca 1:32-33) "Dio gli darà il trono di suo padre Davide e lui regnerà sulla casa di Giacobbe per sempre, e il suo Regno non avrà fine”.Testimoni di Geova Online...non9/25/2019 5:15 PM by Angelo Serafino53
Post: 394
Registered in: 1/15/2016
Location: ROMA
Age: 46
Senior User
2016
OFFLINE
9/5/2019 10:46 PM
 
Modify
 
Delete
 
Quote

Buonasera
possiamo creare un range dinamico che prende una data e toglie 100 giorni magari da usare in un MATR.SOMMA.PRODOTTO però mi chiedo nelle celle precedenti quando non ci sarà più la possibilità di andare a ritroso cosa deve restituire la formula??forse sarebbe il caso che metti un file con un pò di risultati attesi a partire da riga 54
in attesa un saluto
Post: 63
Registered in: 9/3/2018
Location: GROTTAGLIE
Age: 21
Junior User
microsoft office 365 plus 16.0.10325
OFFLINE
9/6/2019 8:15 AM
 
Modify
 
Delete
 
Quote

Buongiorno Danilo, innanzitutto ti ringrazio per esserti interessato al mio problema 🎁
Allego il file dove, per esempio, ho inserito manualmente i risultati attesi (nelle colonne CH e CI) solo per alcune righe che ho opportunamente evidenziato col colore arancione.
Nella mia analisi, tutte le date che non hanno 100 giorni precedenti in tabella non verranno considerate: quindi per tutte le righe precedenti il 10/4/2016 la formula riporterà una cella vuota.

P.S.Dovrò analizzare una tabella di molte righe, circa 400.000 righe
P.P.S.Per effettuare il conteggio, da esempio, ho utilizzato la formula CONTA.SE adattando il range di analisi -manualmente- per rispettare l'intervallo di date (100 giorni)
[Edited by Melissa2018 9/6/2019 9:20 AM]
Post: 395
Registered in: 1/15/2016
Location: ROMA
Age: 46
Senior User
2016
OFFLINE
9/6/2019 9:37 AM
 
Modify
 
Delete
 
Quote

Buongiorno
Non è difficile....ora sono a lavoro appena ho un pc te la faccio
Saluti
Post: 64
Registered in: 9/3/2018
Location: GROTTAGLIE
Age: 21
Junior User
microsoft office 365 plus 16.0.10325
OFFLINE
9/6/2019 9:52 AM
 
Modify
 
Delete
 
Quote

Grazie Danilo, sei gentilissimo! 🙏
Sebbene stia imparando molte cose sul mondo excel (grazie soprattutto alla disponibilità e alla pazienza di voi utenti di questo forum) su certe cose mi perdo ancora. 😵
Post: 2,365
Registered in: 4/6/2013
Location: ROMA
Age: 72
Veteran User
2010
OFFLINE
9/6/2019 10:35 AM
 
Modify
 
Delete
 
Quote

Ciao
una soluzione:

=SE($A226-100<$A$54;"";MATR.SOMMA.PRODOTTO(($A:$A>=$A226-100)*($A:$A<$A226)*($E:$F=E226)))

da trascinare a destra ed in basso

MA: vista la mole di dati, la formula ti appesantirebbe sensibilmente il foglio, anche se al posto di A:A metti A54:A400000.

Ti suggerirei l'utilizzo di una macro magari sotto forma di udf.

Comunque attendi altre soluzioni. Può darsi che con aggrega (che non conosco) si ottenga un risultato in più breve tempo.

saluti



[Edited by dodo47 9/6/2019 10:50 AM]
Domenico
Win 10 - Excel 2016
Post: 396
Registered in: 1/15/2016
Location: ROMA
Age: 46
Senior User
2016
OFFLINE
9/6/2019 10:43 AM
 
Modify
 
Delete
 
Quote

Ciao
Prendiamo in esame il dato di riga 164
Tito nei valori attesi dichiari 21 ma il nome è presente nel range E54:F164 22 volte
Quindi il dato di riga 164 non si deve considerare o mi sfugge qualcosa??
Post: 2,366
Registered in: 4/6/2013
Location: ROMA
Age: 72
Veteran User
2010
OFFLINE
9/6/2019 10:54 AM
 
Modify
 
Delete
 
Quote

@Danilo
la riga 164 la devi escludere...torna 21



Domenico
Win 10 - Excel 2016
Post: 397
Registered in: 1/15/2016
Location: ROMA
Age: 46
Senior User
2016
OFFLINE
9/6/2019 11:03 AM
 
Modify
 
Delete
 
Quote

Buongiorno
@Dodo
Avrei scritto la stessa formula sicuramente vista la mole di dati sarebbe meglio il VBA
Con AGGREGA non credo si possa fare meglio in quanto per funzioni fino alla 9 non supporta matrici costruite ma necessita di riferimenti di cella
Un saluto
Post: 2,367
Registered in: 4/6/2013
Location: ROMA
Age: 72
Veteran User
2010
OFFLINE
9/6/2019 11:16 AM
 
Modify
 
Delete
 
Quote

già....

la riga che non mi torna invece è la 177 per entrambi i nominativi.
A me risulta una unità di meno per tutti e due (8-12 anzichè 9-13).

Comunque basta capire cosa si intende per 100 giorni precedenti, non vorrei che Melissa avesse contato in questo caso anche la riga 177...

cari saluti



[Edited by dodo47 9/6/2019 11:18 AM]
Domenico
Win 10 - Excel 2016
Post: 5,747
Registered in: 11/14/2004
Master User
Versione Excel
OFFLINE
9/6/2019 11:49 AM
 
Modify
 
Delete
 
Quote

Convegni
Ciao, il fatto di trovare i nomi non è difficile ma bisogna anche considerare che possano essere invertiti cioè giovanni-luca o luca-giovanni, sono sempre presenti entrambi.

ma con le formule è risaputo che non saprei da dove cominciare

comunque con una macro questo il risultato, ho preferito aggiungere un nuovo foglio sia per avere i risultati che per impostare la ricerca.

dal tuo elenco ho ricavato i nomi della colonna "A" foglio2, che ho inserito in una convalida.

quindi scegli i 2 nomi in D1-E1 poi inserisci la data di fine ed infine i giorni retroattivi, e premi il pulsante "Trova"

avrai i risultati da G2 in poi, ho fatto inserire anche il numero di riga in modo che se devi trovare il dato sai dove cercare.

Come vedi Cerca anche con nome invertito.

prima ho inserito 100gg mi ha dato 2 risultati, con 150gg me ne ha dato 3, questa è una cosa che puoi variare a piacere, ma anche tutti gli altri dati di ricerca.

Ciao By Sal [SM=x423051]

Excel 2013

Iscriviti al nuovo sito che ho aperto troverai altre RISPOSTE

https://www.bysal-excel.it
Post: 2,368
Registered in: 4/6/2013
Location: ROMA
Age: 72
Veteran User
2010
OFFLINE
9/6/2019 1:41 PM
 
Modify
 
Delete
 
Quote

@Sal

Melissa non cerca l'accoppiata Nome1 e Nome2, ma quante volte il nome1 si ripete nel periodo nelle colonne E ed F e quante volte il nome2 si ripete nel periodo nelle colonne E ed F
(vedi suoi risultati nelle colonne CH e CI delle righe evidenziate

saluti



Domenico
Win 10 - Excel 2016
Post: 65
Registered in: 9/3/2018
Location: GROTTAGLIE
Age: 21
Junior User
microsoft office 365 plus 16.0.10325
OFFLINE
9/6/2019 2:15 PM
 
Modify
 
Delete
 
Quote

Re:
dodo47, 06/09/2019 11.16:

già....

la riga che non mi torna invece è la 177 per entrambi i nominativi.
A me risulta una unità di meno per tutti e due (8-12 anzichè 9-13).

Comunque basta capire cosa si intende per 100 giorni precedenti, non vorrei che Melissa avesse contato in questo caso anche la riga 177...

cari saluti






Ciao Dodo! Come stai? Ti ricordi di me? Già tempo fa ti mostrai quanto fossi impedita con excel, come vedi, eccomi qui a confermare la mia pessima reputazione 😆
Per la 177 il risultato corretto è 9-13, ho verificato nuovamente con la formula conta.se impostando il range E63:F176. La riga 177 la si esclude e i 100 gg precedenti il 19/4/2016 partono dal 10/1/2016
Post: 66
Registered in: 9/3/2018
Location: GROTTAGLIE
Age: 21
Junior User
microsoft office 365 plus 16.0.10325
OFFLINE
9/6/2019 2:19 PM
 
Modify
 
Delete
 
Quote

Re:
DANILOFIORINI, 06/09/2019 11.03:

Avrei scritto la stessa formula sicuramente vista la mole di dati sarebbe meglio il VBA


Gentilissimo Danilo, purtroppo non so ancora scrivere le macro, mi limito solo a registrarle 😞


Post: 67
Registered in: 9/3/2018
Location: GROTTAGLIE
Age: 21
Junior User
microsoft office 365 plus 16.0.10325
OFFLINE
9/6/2019 2:41 PM
 
Modify
 
Delete
 
Quote

Re: Convegni
by sal, 06/09/2019 11.49:



comunque con una macro questo il risultato[SM=x423051]




Buon pomeriggio By Sal, ti ringrazio moltissimo per il tempo che mi hai dedicato scrivendo questo codice
Purtroppo, come ha scritto Dodo, non è l'accoppiata ciò che effettivamente mi serve ma, per ogni data, quante volte le due persone presenti al convegno di tale data hanno presenziato durante i convegni dei 100 gg precedenti.



Post: 68
Registered in: 9/3/2018
Location: GROTTAGLIE
Age: 21
Junior User
microsoft office 365 plus 16.0.10325
OFFLINE
9/6/2019 3:01 PM
 
Modify
 
Delete
 
Quote

Re:
dodo47, 06/09/2019 10.35:

Ciao
una soluzione:

=SE($A226-100<$A$54;"";MATR.SOMMA.PRODOTTO(($A:$A>=$A226-100)*($A:$A<$A226)*($E:$F=E226)))

da trascinare a destra ed in basso

MA: vista la mole di dati, la formula ti appesantirebbe sensibilmente il foglio, anche se al posto di A:A metti A54:A400000.

Ti suggerirei l'utilizzo di una macro magari sotto forma di udf.

Comunque attendi altre soluzioni. Può darsi che con aggrega (che non conosco) si ottenga un risultato in più breve tempo.

saluti





Grazie Dodo! Sei disponibile come sempre! 🙏
Non ho capito però in che cella devo inserirla per poi trascinarla.
Io mi aspetto che i risultati siano riportati nelle colonne CH e CI.

Ho provato ad inserire nella cella CH54 la formula, trascinata a destra (cella CI54) e poi in basso ma mi sa proprio che non l ho capita... 😔
Macro sotto forma di udf? Per me è aramaico purtroppo 😢
[Edited by Melissa2018 9/6/2019 3:02 PM]
Post: 5,748
Registered in: 11/14/2004
Master User
Versione Excel
OFFLINE
9/6/2019 3:09 PM
 
Modify
 
Delete
 
Quote

Convegni
Ciao melissa, allora non ho compreso, diciamo come esempio io prendo la data del 8/6/2016 a quella data sono presenti angelo-harco lins

ora tu dici che partendo dal 8-6-2016 e contando ad esempio 10 giorni indietro fino al 20-5-2016 avremo come da immagine:



2 volte Harco lins, 1 volta angelo

è cosi?, ti devo riportare solo il numero oppure anche la data?

e quando sono date identiche come ad esempio il 3/6/2016 3 convegni uguali? tutti i nomi di tali data?

Ciao By Sal

[Edited by by sal 9/6/2019 3:11 PM]
Excel 2013

Iscriviti al nuovo sito che ho aperto troverai altre RISPOSTE

https://www.bysal-excel.it
Post: 69
Registered in: 9/3/2018
Location: GROTTAGLIE
Age: 21
Junior User
microsoft office 365 plus 16.0.10325
OFFLINE
9/6/2019 3:16 PM
 
Modify
 
Delete
 
Quote

Re: Convegni
by sal, 06/09/2019 15.09:

Ciao melissa, allora non ho compreso, diciamo come esempio io prendo la data del 8/6/2016 a quella data sono presenti angelo-harco lins

ora tu dici che partendo dal 8-6-2016 e contando ad esempio 10 giorni indietro fino al 20-5-2016 avremo come da immagine:



2 volte Harco lins, 1 volta angelo

è cosi?, ti devo riportare solo il numero oppure anche la data?

e quando sono date identiche come ad esempio il 3/6/2016 3 convegni uguali? tutti i nomi di tali data?

Ciao By Sal



Modifico il messaggio perchè ho scritto male la risposta:
contando 10 gg indietro l'8/6 si arriva al 29/5, quindi avrò 1 angelo (valore restituito nella cella CH223) e 2 Harco lins (CI223).
Al fine del calcolo non importa se in una data dei giorni precedenti ci siano stati più convegni, l importante è stabilire a quanti di questi hanno presenziato.
Mi servirebbe solo riempire le celle CH e CI 🙏

[Edited by Melissa2018 9/6/2019 3:30 PM]
Post: 2,370
Registered in: 4/6/2013
Location: ROMA
Age: 72
Veteran User
2010
OFFLINE
9/6/2019 3:56 PM
 
Modify
 
Delete
 
Quote

@Melissa

la formula è riferita alla riga 226 come vedi, quindi in CH226 e trascini/copi come vuoi.
Ti ripeto che sarebbe migliore una soluzione vb, poi vedi tu facendo le prove

cari saluti





Domenico
Win 10 - Excel 2016
Post: 5,749
Registered in: 11/14/2004
Master User
Versione Excel
OFFLINE
9/6/2019 4:38 PM
 
Modify
 
Delete
 
Quote

Convegni
Ciao melissa ecco il file

sono riuscito a capire il problema, il foglio 2 non funziona più puoi eliminarlo.

ho usato l'evento doppioclick del foglio, la prima cosa io ho scelto la cella "B1" per inserire la distanza delle date, adesso è messa a 10, metti 100 o quello che ti serve, nel caso si deve usare un altra cella bisogna modificare nella macro, e ti dirò come fare.

il funzionamento è semplice scegli una data e dai doppioclick sulla data e nelle colonne "CH-CI" avrai i dati che ti servono.

ho notato un problema se scegli la data del 13/6/2016 laura-luca i risultati non corrispondono, perche i luca sono molti di più.

ma ciò è dovuto al fatto che i dati non sono omogenei, nel senso che "luca" a volte è registrato come "luca" ed altre volte è registrato come "luca " con uno spazio alla fine.

di dovrebbe rifare una pulizia dei dati altrimenti i risultati saranno fallaci.

ti allego il file, fai le prove e fammi sapere.

ho nascosto le colonne per avere un riscontro visibile devi solo scoprirle.

Ciao By Sal [SM=x423051]

[Edited by by sal 9/6/2019 4:40 PM]
Excel 2013

Iscriviti al nuovo sito che ho aperto troverai altre RISPOSTE

https://www.bysal-excel.it
Post: 70
Registered in: 9/3/2018
Location: GROTTAGLIE
Age: 21
Junior User
microsoft office 365 plus 16.0.10325
OFFLINE
9/6/2019 4:55 PM
 
Modify
 
Delete
 
Quote

Re:
dodo47, 06/09/2019 15.56:

@Melissa

la formula è riferita alla riga 226 come vedi, quindi in CH226 e trascini/copi come vuoi.
Ti ripeto che sarebbe migliore una soluzione vb, poi vedi tu facendo le prove

cari saluti



Dodo, grazie mille. Ti allego il file dove ti mostro alcuni errori che riporta la tua formula:

-nelle colonne CH e CI ci sono i risultati riportati dalla tua formula

-nella colonna CJ, per comodità, ho inserito la data del 100esimo giorno precedente alla data riportata, nella stessa riga, nella cella A

-Nelle celle CK e CL i risultati che ottengo io manualmente (adattando di volta in volta il range della formula CONTA.SE per coprire l'intervallo dei 100 gg precedenti). Le celle rosse sono gli errori

Come vedi, per le prove random che ho fatto, per le righe 177 e 212 ci sono delle discrepanze.
Forse il problema nasce quando durante il 100esimo giorno precedente si svolgono più convegni?


[Edited by Melissa2018 9/6/2019 4:56 PM]
Post: 71
Registered in: 9/3/2018
Location: GROTTAGLIE
Age: 21
Junior User
microsoft office 365 plus 16.0.10325
OFFLINE
9/6/2019 5:00 PM
 
Modify
 
Delete
 
Quote

Re: Convegni
by sal, 06/09/2019 16.38:

Ciao melissa ecco il file



Grazie infinite by sal, studio immediatamente il tuo file


Post: 2,372
Registered in: 4/6/2013
Location: ROMA
Age: 72
Veteran User
2010
OFFLINE
9/6/2019 5:04 PM
 
Modify
 
Delete
 
Quote

@Sal

personalmente non ritengo opportuno l'utilizzo del "BeforeDoubleClick" in questo caso, in quanto - in caso di modifica di un nominativo qualsiasi si sarebbe costretti a fare doppioClick su tutte le righe che, a quanto detto da Melissa sono 400.000....

Piuttosto chiederei a Melissa la sua operatività in modo da sfruttare un evento change che ricalcoli per intero le colonne CH e CI e non una riga per volta.

Cioè conoscere come opera Melissa in tale foglio in modo da restringere il calcolo al cambio di determinate colonne (es: A-E-F) al fine di evitare "ricalcoli a vuoto".

Questo il motivo per il quale non ho sviluppato nessuna macro al momento.

saluti



Domenico
Win 10 - Excel 2016
Post: 72
Registered in: 9/3/2018
Location: GROTTAGLIE
Age: 21
Junior User
microsoft office 365 plus 16.0.10325
OFFLINE
9/6/2019 6:02 PM
 
Modify
 
Delete
 
Quote

Re: Convegni
by sal, 06/09/2019 16.38:



ti allego il file, fai le prove e fammi sapere.
[SM=x423051]



By sal, ti allego il file dove, per alcune righe scelte random, ho eseguito il doppioclick (impostando 100 nella cella B1, cioè intendendo così che siano 100 il numero di giorni precedenti).
Comparando questi risultati con quelli che ho ottenuto manualmente (con l'ausilio della formula CONTA.SE) ho notato però moltissime discrepanze. Avrò sbagliato qualcosa io?

Al tuo file ho aggiunto:
in CJ, per comodità, la data del 100esimo giorno precedente la riga considerata;
in CK e CL i risultati che ho ottenuto manualmente.

P.S.La cella B1, dove impostare il range di date, sarebbe davvero utile

P.P.S.Purtroppo, il doppioclick per ogni data non mi tornerebbe comodo e vi chiedo scusa per non avervi spiegato prima come intendo utilizzare il foglio

dodo47, 06/09/2019 17.04:



Piuttosto chiederei a Melissa la sua operatività in modo da sfruttare un evento change che ricalcoli per intero le colonne CH e CI e non una riga per volta.

Cioè conoscere come opera Melissa in tale foglio in modo da restringere il calcolo al cambio di determinate colonne (es: A-E-F) al fine di evitare "ricalcoli a vuoto".

Questo il motivo per il quale non ho sviluppato nessuna macro al momento.



Dodo, hai ragione, perdonami.
Ciò che dovrò fare è copiare da un'altro file una tabella di dati a54:bs400000 (o una parte di essa) ed incollarla in questo nuovo foglio dove poter finalmente visualizzare le colonne CH e CI compilate come vi ho scritto in ogni loro cella 🙏



[Edited by Melissa2018 9/6/2019 6:04 PM]
Post: 5,750
Registered in: 11/14/2004
Master User
Versione Excel
OFFLINE
9/6/2019 6:07 PM
 
Modify
 
Delete
 
Quote

Convegni
Ciao Domenico, ho usato doppioclick proprio per questo, in quanto se deve modificare od inserire una data nella colonna "A", parte "selectionchange" o "Change", è risulterà alquanto laborioso inserire o modificare date.

inoltre credo che gli interessi sapere il convegno di una determinata data 100gg o xgg indietro le presenze, e non per tutti i convegni.

quando vorrà sapere qualcosa basterà fare doppioclick sulla data
interessata.

se poi sarà per tutti i convegni basterà fare una macro generale per l'aggiornamento, perche non credo che ogni volta che aggiungerà un nuovo convegno voglia riaggiornare tutti i 400.000 dati

inoltre ha il problema della omogeneità dei dati, dovrà prima rendere i dati omogenei.

Ciao By Sal [SM=x423051]



Excel 2013

Iscriviti al nuovo sito che ho aperto troverai altre RISPOSTE

https://www.bysal-excel.it
Post: 73
Registered in: 9/3/2018
Location: GROTTAGLIE
Age: 21
Junior User
microsoft office 365 plus 16.0.10325
OFFLINE
9/6/2019 7:21 PM
 
Modify
 
Delete
 
Quote

Re: Convegni
by sal, 06/09/2019 18.07:




se poi sarà per tutti i convegni basterà fare una macro generale per l'aggiornamento, perche non credo che ogni volta che aggiungerà un nuovo convegno voglia riaggiornare tutti i 400.000 dati



By sal, in realtà a me servirebbe proprio avere in una volta sola i risultati per le 400.000 righe e non riga per riga.
Successivamente, ogni mese o due, aggiungerei i nuovi dati dunque calcolerei i risultati per le nuove righe aggiunte.

by sal, 06/09/2019 18.07:



inoltre ha il problema della omogeneità dei dati, dovrà prima rendere i dati omogenei.


Perdonami se abuso ancora della tua disponibilità ma non mi è chiaro il discorso sull eventuale non omogeneità dei dati che hai posto in evidenza. Considera che, nel creare la tabella esempio, ho scritto a mano non più delle prime 20 righe per poi copiare e incollare i vari nomi nelle restanti celle delle colonne E ed F.
Hai avuto modo di guardare il file che ti ho allegato nel mio post precedente dove mostravo le discrepanze dei risultati?

Grazie a tutti per il tempo che mi state dedicando


Post: 5,751
Registered in: 11/14/2004
Master User
Versione Excel
OFFLINE
9/7/2019 8:14 AM
 
Modify
 
Delete
 
Quote

Convegni
Ciao Melissa, visto che l'aggiornamento dei dati lo fai mensilmente, anche perche inserendo le formule la gestione, per i tempi diventerebbe proibitiva.

Ho lasciato la macro del doppioclick in quanto potrai avere bisogno di un aggiornamento di un solo dato instantaneo variando i giorni in "B1".

ma ho creato la macro generale in modo che aggiorni tutti i dati, che è questa:

Sub Trova2()
Dim r, x, y, n1, n2, d1, d2, t1, t2, k

k = Range("B1")
r = Cells(Rows.Count, 1).End(xlUp).Row
Range("CH54:CI" & r).ClearContents
For x = 54 To r1
    Cells(x, 5) = Trim(Cells(x, 5))
    Cells(x, 6) = Trim(Cells(x, 6))
Next x
For x = r To 54 Step -1
    d1 = Cells(x, 1) - 1
    d2 = d1 - k
    n1 = Cells(x, 5)
    n2 = Cells(x, 6)
    t1 = 0: t2 = 0
    For y = 54 To r
        If Cells(y, 1) >= d2 And Cells(y, 1) <= d1 Then
            If Cells(y, 5) = n1 Or Cells(y, 6) = n1 Then t1 = t1 + 1
            If Cells(y, 5) = n2 Or Cells(y, 6) = n2 Then t2 = t2 + 1
        End If
    Next y
    Cells(x, 86) = t1
    Cells(x, 87) = t2
Next x
End Sub


l'omogeneità dei dati, è vero tu hai inserito dati fittizi copiandoli poi in sequenza, ma come ho detto precedentemente, ho visto "luca" perche me ne sono accorto, ma potrebbero essercene anche altri, "luca a volte è scritto come "luca" ed altre volte è scritto come "luca " con uno spazio davanti che è invisibile ma per Excel sono 2 nomi differenti uno di 4 lettere ed uno di 5 lettere con lo spazio, per cui quanto conta "luca" il luca di 5 lettere non lo conta, anche se tu lo vedi creando conteggi errati.

per cui la macro che ti ho proposto in primo luogo elimina gli spazi iniziali o finali, iniziali perche potrebbe anche essere " luca" con uno spazio inizile.

poi inizia a fare il conteggio partendo dall'ultimo inserito, in quanto partendo dal primo non può contare 100 giorni prima oppure solo 1 giorno perche non ci sono dati.

quindi ti riporta tutti i dati calcolati.

spero che vada bene fai i controlli e fai sapere.

come al solito prima di lanciare la macro devi aggiornare i giorni nella cella "B1"

per i 400.000 dati bisogna aspettare che finisca la macro, questo dipende poi dalla velocità del processore del PC.

Ciao By Sal [SM=x423051]

P.S. per lanciare la macro non ho inserito un pulsante, premi Alt+F8 si aprono le macro trovi solo quella "Trova2" la selezioni e premi esegui poi di nuovo Alt+F8 per chiudere la mascherina.


[Edited by by sal 9/7/2019 8:22 AM]
Excel 2013

Iscriviti al nuovo sito che ho aperto troverai altre RISPOSTE

https://www.bysal-excel.it
Post: 2,373
Registered in: 4/6/2013
Location: ROMA
Age: 72
Veteran User
2010
OFFLINE
9/7/2019 10:01 AM
 
Modify
 
Delete
 
Quote

Re: Re:
Melissa2018, 06/09/2019 16.55:


Dodo, grazie mille. Ti allego il file dove ti mostro alcuni errori che riporta la tua formula:
-nelle colonne CH e CI ci sono i risultati riportati dalla tua formula
-nella colonna CJ, per comodità, ho inserito la data del 100esimo giorno precedente alla data riportata, nella stessa riga, nella cella A
-Nelle celle CK e CL i risultati che ottengo io manualmente (adattando di volta in volta il range della formula CONTA.SE per coprire l'intervallo dei 100 gg precedenti). Le celle rosse sono gli errori
Come vedi, per le prove random che ho fatto, per le righe 177 e 212 ci sono delle discrepanze.
Forse il problema nasce quando durante il 100esimo giorno precedente si svolgono più convegni?



Ciao Melissa
a mio avviso i conteggi della mia formula sono esatti.

Ripeto quanto detto in precedenza: bisogna capire cosa intendi tu per 100 giorni prima.

Veniamo al pratico (riga 177 e così l'altra dove trovi differenze):
- la mia formula riporta come risultato: 9 e 12
- il tuo conta.se: 10 e 13

Ma la tua formula: =CONTA.SE($E63:$F176;E177) conteggia fino alla riga 176 che è comunque 19-04-2016, mentre i 100 giorni precedenti dovrebbero fermarsi alla riga 172, primo giorno valido precedente a quello in esame.

In altre parole tu conti anche il giorno 19/4 escludendo quello della riga 177

cari saluti





Domenico
Win 10 - Excel 2016
Post: 74
Registered in: 9/3/2018
Location: GROTTAGLIE
Age: 21
Junior User
microsoft office 365 plus 16.0.10325
OFFLINE
9/7/2019 10:26 AM
 
Modify
 
Delete
 
Quote

Re: Convegni
by sal, 07/09/2019 08.14:


spero che vada bene fai i controlli e fai sapere.



Woooooow! Grazie By sal, sei un King👑!
La macro fa esattamente tutto ciò che mi serviva e in più mi hai lasciato anche l'utilissima cella B1 con cui modificare l'intervallo di date analizzato! 💃
Inizialmente non riuscivo ad eseguire la macro perchè mi dava l'errore qui sotto in foto, ma mi è bastato sostituire r1 con r e sono iniziate le danze.
Adesso potrò sbizzarrirmi con la tabella originale! Yessss! 🎁

Post: 75
Registered in: 9/3/2018
Location: GROTTAGLIE
Age: 21
Junior User
microsoft office 365 plus 16.0.10325
OFFLINE
9/7/2019 10:31 AM
 
Modify
 
Delete
 
Quote

Re: Re: Re:
dodo47, 07/09/2019 10.01:



Ciao Melissa
a mio avviso i conteggi della mia formula sono esatti.

Ripeto quanto detto in precedenza: bisogna capire cosa intendi tu per 100 giorni prima.

Veniamo al pratico (riga 177 e così l'altra dove trovi differenze):
- la mia formula riporta come risultato: 9 e 12
- il tuo conta.se: 10 e 13

Ma la tua formula: =CONTA.SE($E63:$F176;E177) conteggia fino alla riga 176 che è comunque 19-04-2016, mentre i 100 giorni precedenti dovrebbero fermarsi alla riga 172, primo giorno valido precedente a quello in esame.

In altre parole tu conti anche il giorno 19/4 escludendo quello della riga 177

cari saluti








Buongiorno Dodo, stavo giusto per scriverti adesso. Hai ragionissima, ieri sarò stata stanchissima ed ho contato male il range. La tua formula è ovviamente corretta, purtroppo questa notte ho visto che il pc faceva fatica ad eseguirla sulla tabella originale come avevi preventivato. Pensa, mi sviluppa 10.000 righe in 10 minuti e vedo la CPU sotto stress al 99%.
Comunque, grazie a By Sal, che mi ha confezionato la macro, ho risolto.

Grazie a te e a tutti i ragazzi che sono intervenuti in questo mio post!🙏🎁🙏
[Edited by Melissa2018 9/7/2019 10:32 AM]
Admin Thread: | Close | Move | Delete | Modify | Email Notification Previous page | 1 | Next page
New Thread
 | 
Reply
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Home Forum | Bacheca | Album | Users | Search | Log In | Register | Admin
Tutti gli orari sono GMT+01:00. Adesso sono le 11:57 PM. : Printable | Mobile | Regolamento | Privacy
FreeForumZone [v.5.0.0] - Copyright © 2000-2019 FFZ srl - www.freeforumzone.com