Colorare celle contenenti nomi se nel testo contenuto c'è un nome contenuto in altro elenco di nomi

file ad esempio.ods (10.0 KB)
Buonasera,

Se ho un elenco di nominativi (nome e cognome) nel file ad esempio elencati nella colonna A ed un elenco di nominativi nella Colonna D, esiste una formula che mi permette di colorare lo sfondo delle celle della colonna D in cui si trova uno dei nomi contenuti nella colonna A e che si colorino anche se non vengono rispettate Maiuscole e Minuscole.
Nel file ad esempio ho colorato a mano le celle che dovrebbero colorarsi visti i dati presenti nel file.
Grazie a tutti per il supporto

Spulciano su internet sono riuscito solo a fare in modo che si colori se il nome scritto in A è uguale in D, se invece in D ho 2 nomi diversi di cui uno però è come quello della colonna A non si colora e io vorrei che si colorasse.
Allego file così se vi serve avete una vostra soluzione ;-D
Test.ods (11.6 KB)

aprite il file con libreoffice ovviamente (su excel a me non mi tiene le impostazioni)

Ciao. Prova ad usare questa formula come regola della FC
=MATR.SOMMA.PRODOTTO(VAL.NUMERO(RICERCA($A$2:$A$3000;C2)))>0

Ho provato ma la formula fà si che si colori ogni cella che contiene anhe una sola lettera dell’altro elenco.
Ad esempio se nei nomi da cercare c’è Ale e nell’elenco in cui effettuare ci sono nomi come: Aleatorio; Balestra; Palestra etc si colorano tutte le celle. Invece si dovrebbe colorare solo la cella in cui c’è la scritta “Ale” o eventualmente “ale”.
Ho allegato il file con la formula che dicevi per farti vedere il risultato.
Grazie mille!
test1.ods (10.0 KB)

test1.ods (12,3 KB)

Grazie, ma il problema originario era che se nella cella da colorare ci fossero 2 nomi, esempio in C4 Frank Ale e in A2 come rocerca hai Ale la cella non si colora ed io vorrei si colorasse. Il nome singolo ero riuscito anche io a colorarlo ma se hai più nomi nell’elenco della ricerca no.

Spero di essermi spiegato.
Ho riallegato il tuo file, con la tua formula, a cui ho aggiunto la cella che vorrei si colorasse
test2.ods (10.8 KB)

Ciao, ti propongo una soluzione con una Function, quest’ultima è inserita nella formattazione condizionale in questo modo COLORA(A$2:A$3;C2) dove A$2:A$3 è il range di celkle con le parole chiave e C2 è la cella da formattare o meno.
test2.ods (13.8 KB)

Ciao e grazie ma a me non vengono visualizzate colorate le celle del tuo file. Ho provato a farlo anche con un nuovo foglio scrivendo in condizionale la formula COLORA(A$2:A$5;C2) e come range della condiIonale C2:20 ma nulla. Grazie comunque

Ho usato il codice basic, se il tuo programma non è abilitato all’uso delle macro non ti potrà funzionare.
Per abilitare il programma all’uso delle macro devi andare su Strumenti > Opzioni > Sicurezza > Sicurezza delle macro, scegli tra le varie opzioni io uso l’opzione medio(la scelta dell’opzione dovrai effettuarla solo la prima volta ed è a livello di programma) successivamente all’apertura del file se avrai scelto medio un messaggio ti avviserà se abilitare le macro o meno.
Dai un’occhiata a questa breve guida dove potrai iniziare a familiarizzare con il mondo delle macro.
http://professoressa.altervista.org/Dispense_III/Macro_Contatore_OOo.pdf
Colora
Questo è il risultato.

Diciamo che la programmazione vba è interessante ma sapere quali comandi fanno cosa credo sia ancora più infinito delle formule base di CALC. Ti chiedo solo, se nella cella C2 ci fossero 2 nomi separati da una virgola la cella si colorerebbe se trova la corrispondenza? Esempio: nome da cercare Rossi Mario. Celle in cui effettuare ricerche contengono n nomi fra cui una cella: Paolo Bianchi, Rossi Mario. Si colora? Ma direi che è tosta farla sta funzione :slight_smile: Grazie ancora. Vedrò se aprire topic con vba.

Scusa vedo che si è colorato in frank ed ale per cui mi hai già risposto.

Non è proprio così, una cosa è la virgola e altra cosa è lo spazio ma niente di impossibile.
Fai sapere

Sicuro nella colonna A e nella Colonna C dovrei poter controllare fino a 3000 nomi. In settimana ti dirò nella cella C come saranno separati i nominativi delle persone. Se apro la macro non si vede il codice vero… naturalmente non voglio rubarti nulla quindi se non è visualizzabile ci mancherebbe, mi hai fatto già un favore enorme così… era giusto che almeno cercavo di capire la logica che ci stava dietro, anche se è un po troppo in là per me ;-). Intanto grazie mille

Nulla di segreto, se segui le istruzioni del link che ti avevo allegato puoi visualizzare il codice e modificarlo come di seguito in modo che la formattazione funzioni pure in presenza della virgola

Function Colora(Elenco, cella)
Colora = False
cellaS = Replace(cella, ",", " ")
cellasplit = split(cellaS, " ")
For i = 1 To Ubound(Elenco)
 For n = 0 To Ubound(cellasplit)
   If Elenco(i, 1) = cellasplit(n) Then
      Colora = True
      Exit Function
   end if
 Next n
Next i

End Function

Grazie Mille!
Visto che comunque anche se c’è la virgola ci sarà sempre uno spazio dopo la virgola… funziona già cosi!
Ho trovato il codice:

Function Colora(Elenco, cella)
Colora = False
cellasplit = split(cella, " ")
For i = 1 To Ubound(Elenco)
For n = 0 To Ubound(cellasplit)
If Elenco(i, 1) = cellasplit(n) Then
Colora = True
Exit Function
end if
Next n
Next i

End Function

Mi verrebbe da chiederti il mondo… tipo come fà a capire cos’è Elenco e Cella e poi il resto ad intuito si legge… ma arrivare a capire che dovresti scrivere una cosa così è un altro paio di maniche.
Grazie mille!

Ora provo a fare il file anche partendo da 0 visto il link con pdf.
Già quello sarà un mega passo avanti :smiley:

Le formule base (senza VBA) non credo possano arrivare a tanto, quindi posso dire -RISOLTO-

Grazie! Fatto file da solo, in effetti Elenco lo capisce dalla condizionale dove specifichi COLORA e poi indichi la prima parte che è Elenco, la seconda e la cella. Non arriverò mai a vba anche perché per lavoro faccio altro che non prevede utilizzi di calc o excel, ma qualche cosa di mio mi vien voglia di farlo. Grazie ancora, gentilissimo.

Non esattamente, se il nome da trovare fosse seguito dalla virgola questo non verrebbe trovato, ecco perchè la modifica diventa obbligatoria.
Esempio : Ale, Frank

Grazie. Nel mio caso il nome da cercare sarà sempre singolo. Comunque mi tengo nota del codice da scrivere nel caso dovesse servire in futuro. Grazie.