Risolto Cerca condizione con dato duplicato nelle righe

Vale92tina

Nuovo utente
Original poster
30 Giugno 2026
11
0
1
Office 365
Buonasera a tutti.

Io ho conoscenza molto basica di excel quindi perdonatemi per la domanda probabilmente sciocca.
Ho un file strutturato indicativamente così:
CF Anno Manut.
Cf1 2020 vuoto
Cf1 2021 testo
Cf1 2022 testo
Cf2 2020 testo
Cf2 2021 vuoto
Cf2 2022 testo
Ed altre colonne che al momento non mi interessano.

Dal momento che i codici fiscali sono centinaia e che a me 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?

Grazie a tutti
 

alfrimpa

VBA Expert
Supermoderatore
18 Dicembre 2015
78.861
8.653
2.445
72
Napoli
Office 365
Nell'esempio che hai fatto non c'è un codice fiscale con i tre anni vuoti.

Con i dati che hai messo nell'esempio quale sarebbe il risultato corretto che ti aspetti?

Questo sarebbe corretto?



Comunque meglio se alleghi un file di Excel con i dati ed il risultato da ottenere messo a mano.
 

Vale92tina

Nuovo utente
Original poster
30 Giugno 2026
11
0
1
Office 365
Ciao, nell'esempio che ho fatto non ho messo un CF con tutti gli anni con la colonna della manutenzione vuota ma nel mio file di lavoro essendocene parecchi qualcuno c'è. Sono da cellulare, ho provato a fare un file di esempio, spero possa andare bene.
 

Allegati

  • Esempio.xlsx
    5,3 KB · Visite: 14

gianfranco55

Utente assiduo
17 Febbraio 2025
1.300
561
145
Valdagno
365
ciao
=LET(U;UNICI(A2:.A1000);FILTRO(U;CONTA.PIÙ.SE(C2:C1000;"x";A2:A1000;U)=0;""))
per il tuo file
=LET(U;UNICI(A6:.A1000);FILTRO(U;CONTA.PIÙ.SE(C6:C1000;"?*";A6:A1000;U)=0;""))
 
Ultima modifica:

Terio

Excel/Vba Expert
Supermoderatore
6 Gennaio 2021
28.795
6.317
2.345
55
Arce
2016, 2019, 365
Io ho conoscenza molto basica di excel
Mi dispiace per una soluzione che potrà sembrare complicata:
=LET(cf;A6:.A9999;u;UNICI(cf);FILTRO(u;CONTA.PIÙ.SE(cf;u;SCARTO(cf;;2);"")=3;"Non ci sono codici fiscali che soddisfano il criterio"))
oppure
=LET(cf;A6:.A9999;anni;SCARTO(cf;;2);c;lambda(x;SCEGLI.COL(RAGGRUPPAPER(cf;anni;CONTA.VALORI;0;0;;anni="");x));FILTRO(c(1);c(2)=3;"Non ci sono codici fiscali che soddisfano il criterio"))
sono formule dinamiche che ti rendono tutti i codici fiscali che hanno 3 anni vuoti, nel caso non ci siano, ti rende un avviso nella cella dove la immetti, se sono più di uno, crea un elenco che si espande da se.
Come per la soluzione di ipolito @ipolito (ciao Nucio) che leggo ora, i dati li assume nelle prime tre colonne, ma fino alla millesima riga individua automaticamente l'ampiezza verticale dei dati.

Ciao.
edit
Vedo che sono arrivato dopo la soluzione di gianfranco55 @gianfranco55 (ciao) su cui anch'io mi sono basato per la prima, ho adeguato gli intervalli al nuovo file

edit 2
Alternativa
=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"))
 

Vale92tina

Nuovo utente
Original poster
30 Giugno 2026
11
0
1
Office 365
Intanto grazie a tutti sia per le risposte che per la velocità! Domani appena mi siedo le provo subito 👍🏻
 

Terio

Excel/Vba Expert
Supermoderatore
6 Gennaio 2021
28.795
6.317
2.345
55
Arce
2016, 2019, 365
grazie a tutti sia per le risposte che per la velocità!
Velocità a parte, abbiamo tutti usato funzioni specifiche per il 365 che dichiari e le premesse che ho citato impongono sicuramente spiegazioni, visto che non siamo stati avari nei tecnicismi, per cui, se non le capisci, te le spieghiamo volentieri.
Considera che puoi risolvere anche con una pivot (CF nelle righe e gli anni nelle colonne) ed un filtro sui vuoti in MANUTENZIONE:
image.png

dove nel totale vedi il 3, significa che è un CF con i testi mancanti.

Ciao.
 

alfrimpa

VBA Expert
Supermoderatore
18 Dicembre 2015
78.861
8.653
2.445
72
Napoli
Office 365
Perdonate probabilmente sono io a non aver capito ma da quanto detto da Vale92tina @Vale92tina nel primo post
a me serve trovare i Cf che abbiano per tutti e 3 gli anni la cella vuota nella colonna "Manutenzione"...
il CF che risponde al requisito di avere per tutti i 3 anni la cella vuota non è il solo "nnsrrt54f30d722s"?



Comunque come alternativa (e per didattica) questa macro, da inserire nel modulo standard dell'editor VBA (QUI è illustrato come fare), da abbinare ad un pulsante/forma restituisce il risultato mostrato nell'immagine

Visual Basic:
Sub Manut()
Dim i As Integer
For i = 6 To Cells(Rows.Count, 1).End(xlUp).Row Step 3
    If WorksheetFunction.CountA(Range(Cells(i, 3), Cells(i + 2, 3))) = 0 Then
        Cells(i, 4).Value = Cells(i, 1).Value
    End If
Next i
End Sub
 

Terio

Excel/Vba Expert
Supermoderatore
6 Gennaio 2021
28.795
6.317
2.345
55
Arce
2016, 2019, 365
il CF che risponde al requisito di avere per tutti i 3 anni la cella vuota non è il solo "nnsrrt54f30d722s"?
Esattamente quello che vedi nella pivot e che risulta dalle soluzioni fornite nelle varie formule proposte dai partecipanti 🙂
Se consideri i presupposti del tuo codice (step 3 con anni sempre presenti ed in ordine) si può semplificare anche la formula:
=LET(cf;A6:.A9999;FILTRO(UNICI(cf);MATR.PRODOTTO(A.CAPO.RIGA(--(SCARTO(cf;;2)="");3);{1.1.1})=3;"Non ci sono codici fiscali che soddisfano il criterio"))
Ciao.
 
Ultima modifica:

alfrimpa

VBA Expert
Supermoderatore
18 Dicembre 2015
78.861
8.653
2.445
72
Napoli
Office 365
=LET(cf;A6:.A9999;FILTRO(UNICI(cf);MATR.PRODOTTO(A.CAPO.RIGA(--(SCARTO(cf;;2)="");3);{1.1.1})=3;"Non ci sono codici fiscali che soddisfano il criterio"))
Usando questa ultima formula ottengo questo risultato



Faccio un po' fatica a credere che sia quello voluto ma sicuramente sbaglio io
 

Vale92tina

Nuovo utente
Original poster
30 Giugno 2026
11
0
1
Office 365
Allora ho provato tutte le formule e alla fine ha funzionato solo la tabella pivot, alla fine comunque siamo arrivati alla soluzione 😅 le formule mi riportavano nuovamente dei codici fiscali tutti diversi come se li avesse mischiati.
 

Terio

Excel/Vba Expert
Supermoderatore
6 Gennaio 2021
28.795
6.317
2.345
55
Arce
2016, 2019, 365
le formule mi riportavano nuovamente dei codici fiscali tutti diversi come se li avesse mischiati
Impossibile, sarebbe opportuno ripubblicare il file con le varie soluzioni, c'è sicuramente un difetto di implementazione, visto che funzionano tutte:
image.png

compresa la macro di alfrimpa @alfrimpa (ciao).

ha funzionato solo la tabella pivot
Se hai risolto ricorda di chiudere la discussione, ma io un approfondimento sulle formule lo farei, dubito tu le abbia completamente interiorizzate,
ciao.
 

alfrimpa

VBA Expert
Supermoderatore
18 Dicembre 2015
78.861
8.653
2.445
72
Napoli
Office 365
Allora ho provato tutte le formule
Potresti provare pure la macro?

Dopo averla inserita nell'editor di VBA come illustrato nel tutorial torna al foglio premi Alt + F8 selezioni la macro Manut e clicca su Esegui.

Sono a disposizione per eventuali spiegazioni del codice.
 

Vale92tina

Nuovo utente
Original poster
30 Giugno 2026
11
0
1
Office 365
alfrimpa @alfrimpa certo domani la provo.

Magari carico nuovamente il file magari dal PC aziendale. Il problema è che sono dati sensibili quindi li devo modificare (ad esempio la terza colonna nella realtà non è "manutenzione" ma altro).
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?
 

alfrimpa

VBA Expert
Supermoderatore
18 Dicembre 2015
78.861
8.653
2.445
72
Napoli
Office 365
Non so per le formule ma la mia macro funziona in base all’esempio postato ossia 3 anni per ogni CF.
 

Terio

Excel/Vba Expert
Supermoderatore
6 Gennaio 2021
28.795
6.317
2.345
55
Arce
2016, 2019, 365
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?
Assolutamente si, cosa che invalida anche il funzionamento della macro proposta.
Non serve il file originale, ma qualcosa che rispecchi i criteri su cui costruire la soluzione, se indichi:
serve trovare i Cf che abbiano per tutti e 3 gli anni
ci basiamo su soli 3 anni, se invece ne hai di più e vuoi sapere se devono coprire solo 3 anni specifici, devi indicare quali.
Altrimenti usi la pivot e risolvi,
ciao.