Condividi:        

cella per controllo duplicati

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

cella per controllo duplicati

Postdi marcoc » 13/05/26 12:04

ciao a tutti,
mi servirebbe inserire una cella di controllo che mi riporti tipo "ok" oppure "controllare" se nella col.A sono presenti valori presenti più di una volta (oppure il contrario per gli univoci).
Che dite, è possibile?
grazie
Marco
Avatar utente
marcoc
Utente Senior
 
Post: 331
Iscritto il: 22/03/07 21:58
Località: Nerviano

Sponsor
 

Re: cella per controllo duplicati

Postdi Raffaele53 » 13/05/26 12:56

Prova ...casomai cambia gli "A1:A500"
=SE(MATR.SOMMA.PRODOTTO((A1:A500<>"")*(CONTA.SE(A1:A500;A1:A500)>1))=0;"OK";"Controllare")
Raffaele53
Utente Senior
 
Post: 118
Iscritto il: 03/10/24 13:06

Re: cella per controllo duplicati

Postdi marcoc » 13/05/26 21:27

perfetto, grazie!
Avatar utente
marcoc
Utente Senior
 
Post: 331
Iscritto il: 22/03/07 21:58
Località: Nerviano

Re: cella per controllo duplicati

Postdi herselfshadow » 18/08/26 02:40

Ottima soluzione! Per chi utilizza versioni più recenti di Excel (come Microsoft 365 o Excel 2021), un'alternativa leggermente più breve e semplice da scrivere è:

=SE(MAX(CONTA.SE(A1:A500; A1:A500))>1; "Controllare"; "OK")
herselfshadow
Newbie
 
Post: 1
Iscritto il: 18/08/26 02:32

Re: cella per controllo duplicati

Postdi Raffaele53 » 18/08/26 10:27

Excel 2024 LTSC, non so se colpa della mia versione ma non va.
Questa funziona trascinandola =SE(MAX(CONTA.SE(A$1:A$500;A1))>1; "Controllare"; "OK")

Con le versioni più vecchie bisogna scrivere >>>CONTA.SE(A$1:A$500;A1)<<< e poi trascinare sino B500.
Con le ultime versioni d'Excel, scrivendo in B1(senza trascinare) =CONTA.SE(A1:A500;A1:A500) appare in B1:B500 la conta dei numeri singoli oppure doppiati, però con la mia versione se la inserisco all'interno di altri parametri non funziona più ???

Noto anche la mia prima formula, strano che abbia fatto lo stesso errore oppure sia stata modificata dal "forum"
In teoria >>>CONTA.SE(A1:A500;A1:A500)<<< non ha senso e la formula corretta sarebbe (da trascinare)
=SE(MATR.SOMMA.PRODOTTO((A$1:A$500<>"")*(CONTA.SE(A$1:A$500;A1)>1))=0;"OK";"Controllare")
Raffaele53
Utente Senior
 
Post: 118
Iscritto il: 03/10/24 13:06

Re: cella per controllo duplicati

Postdi Anthony47 » 18/08/26 16:34

Raffaele ha scritto:In teoria >>>CONTA.SE(A1:A500;A1:A500)<<< non ha senso
Questa formula restituisce una matrice di 500 valori che rappresentano il risultato dei singoli Conta.se(A1:A500;A1), Conta.se(A1:A500;A2), Conta.se(A1:A500;A3) etc etc
Quindi nella formula completa che avevi proposto (=SE(MATR.SOMMA.PRODOTTO((A1:A500<>"")*(CONTA.SE(A1:A500;A1:A500)>1))=0;"OK";"Controllare")), la prima matrice di Matr.Somma.Prodotto restituisce 500 Vero/Falso a seconda che la cella abbia un contenuto o sia vuota e la seconda matrice 500 Vero/Falso a secondo che il singolo valore sia presente più di 1 volta o 1 sola volta. Se il contenuto di ogni cella è presente 1 sola volta il SE restituisce Vero (quindi Ok), altrimenti Falso (quindi Controllare)

In questa formula tuttavia la componente (A1:A500<>"") è superflua, quindi la potresti semplificare in
Codice: Seleziona tutto
=SE(MATR.SOMMA.PRODOTTO(--(CONTA.SE(A1:A10;A1:A10)>1))=0;"OK";"Controllare")
(il -- serve per trasformare i Vero/Falso in 1/0, che nella tua formula è ottento tramite la Moltiplicazione tra le matrici)
oppure in
Codice: Seleziona tutto
=SE(SOMMA(--(CONTA.SE(A1:A10;A1:A10)>1))=0;"OK";"Controllare")
Ma questa, nelle versioni "vecchie" (quelle che non gestiscono le matrici dinamiche) va introdotta come matriciale, quindi con la combinazione Contr-Maiusc-Enter, non il solo Enter

La formula di herselfshadow funziona anche lei, sia sulle vecchie versioni che sulle nuove

L'ultima tua proposta(basata su =SE(MATR.SOMMA.PRODOTTO((A$1:A$500<>"")*(CONTA.SE(A$1:A$500;A1)>1))=0;"OK";"Controllare")) restituisce OK/Controllare accanto a ogni cella controllata

Per quanto detto prima può essere semplificata in
Codice: Seleziona tutto
=SE((CONTA.SE(A$1:A$500;A1)>1);"Controllare";"OK")
(con il commento che la prima matrice e la funzione Matr.Somma.Prodotto non sono solo superflue ma dannose in temini di cpu e di memoria)
Avatar utente
Anthony47
Moderatore
 
Post: 19713
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: cella per controllo duplicati

Postdi Raffaele53 » 19/08/26 07:54

Le due formule col CONTA.SE(A1:A500;A1:A500) funzionano

Nel 1° post l'utente richiedeva una sola cella di verifica e ieri ho frainteso il problema pensando a una verifica "Controllare-OK" in ogni riga. Idem col MATR.SOMMA.PRODOTTO((A$1:A$500<>"") che non serve casomai ci fossero celle vuote.
Raffaele53
Utente Senior
 
Post: 118
Iscritto il: 03/10/24 13:06


Torna a Applicazioni Office Windows


Topic correlati a "cella per controllo duplicati":


Chi c’è in linea

Visitano il forum: Nessuno e 24 ospiti

cron