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
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.
[Modificato da by sal 07/09/2019 08:22]
se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie
clicca qui