Magari per qualcuno può essere superfluo o inutile ma io gradirei di vedere un file di esempio con 20/30 record ma con la struttura uguale al file originale con inserito a mano il risultato che si vuole ottenere.
Grazie
Se vuoi un elenco di tutti i CF che hanno la colonna G vuota per tutti gli anni della colonna D:Carico nuovo file
la macro non l'hai più provata?
Grazie a te dei riscontri, ma ricorda che puoi chiedere spiegazioni se la formula non ti fosse chiara.Grazie mille
E credi che non lo sappia da prima che lo dicessi tu?non può funzionare per quel che ti avevo detto prima
Non è stata cambiata, è stata chiarita e successivamente invitato l'OP a farlo con un file che rispecchiasse tutti i parametri necessari, anche perché poteva considerarsi risolta con quanto ricevuto:Di 20 formule e un macro ne va bene solo una perché è stata cambiata la richiesta in corso d'opera?
che mi sarei aspettato contrassegnata come risolutiva.alla fine ha funzionato solo la tabella pivot, alla fine comunque siamo arrivati alla soluzione
A fronte del fatto che l'OP dichiarava tutte le formule non funzionanti abbiamo chiesto:il fatto che le formule non mi siano funzionate può essere dovuto al fatto che per alcuni CF ci sono più anni oltre i 3 indicati?
sarebbe opportuno ripubblicare il file con le varie soluzioni, c'è sicuramente un difetto di implementazione, visto che funzionano tutte
e considerato che la modifica su alcune delle soluzioni proposte era di poco conto, ne sono state fornite altre 2 solo corrette nei riferimenti.io gradirei di vedere un file di esempio con 20/30 record ma con la struttura uguale al file originale
Che sfruttano meccanismi utili a trarne spunto per argomenti simili.che vantaggio potremmo trarre dalle altre 19 formule e una macro quando in futuro ci imbatteremo in questa discussione?
Spero di aver risposto alle tue curiosità.Solo per capire eh, nessuna polemica
è sempre più fondato, ma lascio sempre la libertà all'OP nel caso senta la necessità di approfondire quanto ricevuto.io un approfondimento sulle formule lo farei, dubito tu le abbia completamente interiorizzate
poi diventatame serve trovare i Cf che abbiano per tutti e 3 gli anni la cella vuota nella colonna "Manutenzione"...
Esiste un filtro o una formula che mi restituisca i cf con questa condizione?
Ma il fatto che le formule non mi siano funzionate può essere dovuto al fatto che per alcuni CF ci sono più anni oltre i 3 indicati
la mia verifica che nella colonna G le celle corrispondenti ai vari codiciAllora ho provato tutte le formule e alla fine ha funzionato solo la tabella pivot

Tranquilla non hai fatto nessun danno.Ma non voglio allungare ulteriormente la conversazione, ho già fatto abbastanza danni!
E sull'originale non avrebbe funzionato neanche la mia macro visto che il numero degli anni è variabile e non fisso (3).ma sull'originale,
Allora non marcare la mia se usi quella, più chiara, dimi è più chiara
su cui anch'io mi sono basato per la prima
per quello ho scritto:=LET(cf;A6:.A9999;c;LAMBDA(x;SCEGLI.COL(RAGGRUPPAPER(cf;SCARTO(cf;;2);CONCAT;0;0);x));FILTRO(c(1);c(2)="";"Non ci sono codici fiscali che soddisfano il criterio"))
riferendomi alla mia ed a quella diconsiderato che la modifica su alcune delle soluzioni proposte era di poco conto
=UNICI(A3:A1000); anche questo si poteva fare con il codice ma per non complicare le cose ho preferito usare la funzione UNICI()Sub VerificaManutenzione()
Dim cel As Range
Dim rng As Range
Dim riga As Long
riga = 2
For Each cel In Range("AA1:AA" & Cells(Rows.Count, 27).End(xlUp).Row)
With Range("A1:A" & Cells(Rows.Count, 1).End(xlUp).Row)
Set rng = .Find(What:=cel.Value, LookIn:=xlValues, LookAt:=xlWhole)
If Not rng Is Nothing Then
If WorksheetFunction.CountA(Range(Cells(rng.Row, 7), Cells(rng.Row + WorksheetFunction.CountIf(Range("A3:A130"), cel.Value) - 1, 7))) = 0 Then
Cells(riga, "L").Value = cel.Value
riga = riga + 1
End If
End If
End With
Next cel
End Sub
Un consiglio, meglio usare la notazione trimrange:in colonna AA mettiamo i valori univoci della colonna A con la formula=UNICI(A3:A1000)
Find: se ti appoggi all'elenco generato da UNICI non può verificarsi la condizione per cui il CF non esista.Sub VerificaManutenzione_Mod()
Dim cel As Range
Dim rng As Range
Dim riga As Long
Range("L2:L65535").ClearContents
riga = 2
For Each cel In Range("AA1:AA" & Cells(Rows.Count, 27).End(xlUp).Row)
Set rng = Range("A3:A" & Cells(Rows.Count, 1).End(xlUp).Row)
If Application.CountIfs(rng, cel.Value, rng.Offset(, 6), "><") = 0 Then
Cells(riga, "L").Value = cel.Value
riga = riga + 1
End If
Next cel
End Sub