Condividi:        

[Excel Formula Matriciale] Conta univoca dei 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

[Excel Formula Matriciale] Conta univoca dei duplicati

Postdi Black.Jack » 06/08/12 10:35

Ciao a tutti!!


vorrei approfondire la conoscenza delle formule matriciali, e mi sono posto un quesito.

Vorrei identificare il numero univoco di valori che in un'intervallo di celle (ipoteticamente nel range A1:A7) sono duplicati, sia che essi siano numeri o meno.

ho provato con :

Codice: Seleziona tutto
{=SOMMA(SE(CONTA.SE(A1:A7;A1:A7)>1;1;""))}


Ma mi restituisce il numero di duplicati non univoci.

Forse l'ideale sarebbe l'utilizzo della funzione "Confronta" come spesso vedo negli esempi dei matriciali, solo che si attiva unicamente con i numeri.

Idee?
Win7 + Office 2010 Ita
Xp + Office 2010 Ita
Black.Jack
Utente Junior
 
Post: 93
Iscritto il: 23/06/10 08:40

Sponsor
 

Re: [Excel Formula Matriciale] Conta univoca dei duplicati

Postdi Black.Jack » 06/08/12 10:54

..aggiungo questa formula:

Codice: Seleziona tutto
{=SOMMA(SE(FREQUENZA(SE(LUNGHEZZA(A1:A7)>0;CONFRONTA(A1:A7;A1:A7;0);""); SE(LUNGHEZZA(A1:A7)>0;CONFRONTA(A1:A7;A1:A7;0);""))>0;1))}


sembra invece che qui il confronta agisca sia su numeri che su testo...non sono riuscito a capire perchè...diciamo che questo sarebbe il secondo mistero di questo mio intervento ;)
Win7 + Office 2010 Ita
Xp + Office 2010 Ita
Black.Jack
Utente Junior
 
Post: 93
Iscritto il: 23/06/10 08:40

Re: [Excel Formula Matriciale] Conta univoca dei duplicati

Postdi scossa » 06/08/12 13:07

Black.Jack ha scritto:Vorrei identificare il numero univoco di valori che in un'intervallo di celle (ipoteticamente nel range A1:A7) sono duplicati, sia che essi siano numeri o meno.

ho provato con :

Codice: Seleziona tutto
{=SOMMA(SE(CONTA.SE(A1:A7;A1:A7)>1;1;""))}


Ma mi restituisce il numero di duplicati non univoci.

Forse l'ideale sarebbe l'utilizzo della funzione "Confronta" come spesso vedo negli esempi dei matriciali, solo che si attiva unicamente con i numeri.

Idee?

ad esempio:
Codice: Seleziona tutto
=SOMMA(SE(LUNGHEZZA(A1:A7);1/CONTA.SE(A1:A7;A1:A7)))

matriciale da confermare con ctrl+maiusc+invio
Bye!
scossa

Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee. (George Bernard Shaw)
Avatar utente
scossa
Utente Senior
 
Post: 427
Iscritto il: 01/04/12 16:40
Località: Provincia di Verona

Re: [Excel Formula Matriciale] Conta univoca dei duplicati

Postdi Black.Jack » 06/08/12 13:09

Mi spiace ma questa formula non è quella risolutiva...
Win7 + Office 2010 Ita
Xp + Office 2010 Ita
Black.Jack
Utente Junior
 
Post: 93
Iscritto il: 23/06/10 08:40

Re: [Excel Formula Matriciale] Conta univoca dei duplicati

Postdi Flash30005 » 06/08/12 13:10

:roll:

Forse questa (?)
Codice: Seleziona tutto
=SE(CONTA.SE(A$1:A$7;A1)>1;1;"")


Conferma solo con Invio

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [Excel Formula Matriciale] Conta univoca dei duplicati

Postdi scossa » 06/08/12 13:15

Black.Jack ha scritto:Mi spiace ma questa formula non è quella risolutiva...


Sinceramente non capisco il senso della tua risposta.

Puoi fare un esempio con dei dati e il risultato che ti aspetti?
Bye!
scossa

Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee. (George Bernard Shaw)
Avatar utente
scossa
Utente Senior
 
Post: 427
Iscritto il: 01/04/12 16:40
Località: Provincia di Verona

Re: [Excel Formula Matriciale] Conta univoca dei duplicati

Postdi Black.Jack » 06/08/12 13:45

Si forse un'esempio è l'ideale.

Colonna A,rispettivamente in celle An,An+1...:

vuoto

a

a

b

vuoto

vuoto

vuoto

risutante in cella formula: 1. Perchè 1? perchè c'è una sola variabile duplicata nel range, ossia "a".

spero di essere stato + chiaro di prima :oops:
Win7 + Office 2010 Ita
Xp + Office 2010 Ita
Black.Jack
Utente Junior
 
Post: 93
Iscritto il: 23/06/10 08:40

Re: [Excel Formula Matriciale] Conta univoca dei duplicati

Postdi Flash30005 » 06/08/12 13:51

Scusa BlackJack ma hai letto il mio post di oggi ore 14:10 :?:

A me sembra che non occorra nessuna matrice e nemmeno complicarsi troppo la vita, che ne dici?

Volendo puoi sapere anche quanti duplicati hai modificando leggermente la precedente formula con
Codice: Seleziona tutto
=SE(CONTA.SE(A$1:A$7;A1)>1;CONTA.SE(A$1:A$7;A1);"")


ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [Excel Formula Matriciale] Conta univoca dei duplicati

Postdi Black.Jack » 06/08/12 15:28

scusa flash!


la tua formula non mi sembrava adatta per il criterio "A1". Sembrava che l'intero paragone per l'area selezionata fosse solo quello contenuto in quella cella.

A me interessa che ogni valore dell'intervallo sia preso in considerazione nella conta dei duplicati.

... :undecided: non so se mi sono spiegato...
Win7 + Office 2010 Ita
Xp + Office 2010 Ita
Black.Jack
Utente Junior
 
Post: 93
Iscritto il: 23/06/10 08:40

Re: [Excel Formula Matriciale] Conta univoca dei duplicati

Postdi Flash30005 » 06/08/12 15:57

La formula va inserita in una colonna libera es.: C1 o D1
poi trascini verso il basso
ad ogni duplicato avrai 1 (sempre) quando ci sono duplicati (prima formula)
o 2 o più di due se i duplicati della cella di riferimento (A1, A2 etc) hanno più duplicati (seconda formula)

Ma se vuoi solo sapere se esistono duplicati (nel range specificato)
tutto in una unica cella allora è diverso....

Inserisci in una cella qualsiasi questa formula
Codice: Seleziona tutto
=SE(SOMMA(SE(CONTA.SE(A$1:A$7;A1:A7)>1;1;""))>1;1;"")

conferma con CTRL+Shift+Enter
e se esiste un duplicato avrai 1 altrimenti nulla

Mentre se inserisci questa formula
Codice: Seleziona tutto
=SOMMA(SE(CONTA.SE(A$1:A$7;A$1:A$7)>1;1;""))

Avrai il totale dei duplicati in unica cella

ciao
EDIT ore 17:05 aggiunta formula unica
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [Excel Formula Matriciale] Conta univoca dei duplicati

Postdi Black.Jack » 06/08/12 17:53

...la quale (ultima) credo sia identica a quella che ho postato io al principio.


Sono arrivato anche io a risultati vicini a quello che ho chiesto qui, ma vorrei procedere sino ad ottenerlo.

So che è possibile e vorrei arrivarci.

secondo me la chiave è l'utilizzo di frequenza e confronta...
Win7 + Office 2010 Ita
Xp + Office 2010 Ita
Black.Jack
Utente Junior
 
Post: 93
Iscritto il: 23/06/10 08:40

Re: [Excel Formula Matriciale] Conta univoca dei duplicati

Postdi Flash30005 » 06/08/12 19:12

Black.Jack ha scritto:So che è possibile e vorrei arrivarci.

Sono sicuro anche io basterebbe sapere cosa si vuole ottenere :D
Se non vuoi conoscere il numero dei duplicati ma solo le celle univoche allora devi solo fare una sottrazione (nUmero celle piene - numero celle duplicate) che si traduce in una formula di questo tipo
Codice: Seleziona tutto
=CONTA.VALORI(A1:A7)-SOMMA(SE(CONTA.SE(A$1:A$7;A$1:A$7)>1;1;""))

(con due celle doppie, quindi 4 duplicati) avrai 3

Oppure dividendo per due i duplicati avrai quante celle univoche ci sono (escludendo i doppioni)
Codice: Seleziona tutto
=CONTA.VALORI(A1:A7)-SOMMA(SE(CONTA.SE(A$1:A$7;A$1:A$7)>1;1;""))/2

(Con due celle doppie, come prima) in questo caso hai 5

Se non è nemmeno questo quello che vuoi, ci rinuncio. :lol:

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [Excel Formula Matriciale] Conta univoca dei duplicati

Postdi Black.Jack » 06/08/12 21:48

eheh...

va be grazie lo stesso, eccola qua penso di essermi arrangiato :D :


Codice: Seleziona tutto
=SOMMA(SE(FREQUENZA(SE(LUNGHEZZA(A1:A7)>0;CONFRONTA(A1:A7;A1:A7;0);""); SE(LUNGHEZZA(A1:A7)>0;CONFRONTA(A1:A7;A1:A7;0);""))>0;1))-SOMMA(SE(CONTA.SE(A1:A7;A1:A7)=1;1;""))
Win7 + Office 2010 Ita
Xp + Office 2010 Ita
Black.Jack
Utente Junior
 
Post: 93
Iscritto il: 23/06/10 08:40

Re: [Excel Formula Matriciale] Conta univoca dei duplicati

Postdi Flash30005 » 06/08/12 22:11

Eh no!!
Adesso mi dovresti spiegare qual'è la differenza tra l'ultima tua formula e questa?
Codice: Seleziona tutto
=SOMMA(SE(CONTA.SE(A$1:A$7;A$1:A$7)>1;1;""))/2


Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [Excel Formula Matriciale] Conta univoca dei duplicati

Postdi Black.Jack » 06/08/12 22:16

se il duplicato è maggiore di 2 si ottiene un numero con la virgola ed è un'errore. Questa è la differenza.
Win7 + Office 2010 Ita
Xp + Office 2010 Ita
Black.Jack
Utente Junior
 
Post: 93
Iscritto il: 23/06/10 08:40

Re: [Excel Formula Matriciale] Conta univoca dei duplicati

Postdi Flash30005 » 06/08/12 22:27

ma se hai questi dati (o altri da testare)
a3
a3
a3
a3
a3
a3
a4

a te va bene che la tua formula ti fornisca 1 :?:

Stesso risultato con
a3
a3
a3
a3
a3
a3
a3

Idem con
a3
a3
a3
a3
a3
a2
a4

:eeh:
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [Excel Formula Matriciale] Conta univoca dei duplicati

Postdi Black.Jack » 06/08/12 22:31

si perchè io cercavo l'univocità dei valori duplicati. ;)
Win7 + Office 2010 Ita
Xp + Office 2010 Ita
Black.Jack
Utente Junior
 
Post: 93
Iscritto il: 23/06/10 08:40

Re: [Excel Formula Matriciale] Conta univoca dei duplicati

Postdi Anthony47 » 06/08/12 22:51

Un tardivo contributo:
Codice: Seleziona tutto
=SOMMA(--(CONTA.SE(SCARTO(A$1;0;0;RIF.RIGA(INDIRETTO("1:"&RIGHE(A1:A10))));A1:A10)=2))

Contr-Maiusc-Enter

A1:A10 e' l' intervallo da monitorare, A1 e' l' origine dell' intervallo; adatta al tuo caso.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [Excel Formula Matriciale] Conta univoca dei duplicati

Postdi Flash30005 » 06/08/12 23:15

Black.Jack ha scritto:va be grazie lo stesso, eccola qua penso di essermi arrangiato :D :
Codice: Seleziona tutto
=SOMMA(SE(FREQUENZA(SE(LUNGHEZZA(A1:A7)>0;CONFRONTA(A1:A7;A1:A7;0);""); SE(LUNGHEZZA(A1:A7)>0;CONFRONTA(A1:A7;A1:A7;0);""))>0;1))-SOMMA(SE(CONTA.SE(A1:A7;A1:A7)=1;1;""))


All'anima di "arrangiarsi"
è una fonte inesauribile :D

ma forse complicata molto più di quanto consigliato da Anthony
(Sapevo che doveva esserci qualcosa di più "semplice") ;)
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [Excel Formula Matriciale] Conta univoca dei duplicati

Postdi Black.Jack » 07/08/12 06:11

grazie Anthony, provvidenziale come sempre!


x Flash: se noti il secondo mio intervento, dove mostro quella formula, ammetto io stesso di non averla capita (perchè non mia, non si può scrivere una formula non capendola :neutral: ).

Proseguo infatti con la seconda richiesta di questo thread, ossia capire perchè - come già scritto nel succitato intervento - in detta formula, la funzione "confronta" tiene conto anche di risultati alfanumerici, quando per definizione non dovrebbe.

Non ho usato il verbo "arrangiato" a caso, non era tutta farina del mio sacco ma ho usato gli strumenti che avevo per arrivare ad una soluzione. :D
Win7 + Office 2010 Ita
Xp + Office 2010 Ita
Black.Jack
Utente Junior
 
Post: 93
Iscritto il: 23/06/10 08:40

Prossimo

Torna a Applicazioni Office Windows


Topic correlati a "[Excel Formula Matriciale] Conta univoca dei duplicati":


Chi c’è in linea

Visitano il forum: Marius44 e 53 ospiti