rng= intervallo
inserisci la formula matriciale:
=SOMMA((1/CONTA.SE(rng;rng&"")))-CONTA.SE(rng;"")
.i
Se vuoi, provo a spiegartela. Magari poi anche Ivano dirà la sua!
La parte "centrale" è il reciproco di CONTA.SE(rng;rng)
Vediamo una cosa per volta.
CONTA.SE(rng;rng) restituisce una matrice che indica per ogni valore quante
volte compare nel rng.
Per esempio, se rng fosse:
{5\6\7\5\7\7}
CONTA.SE(rng;rng) sarebbe:
{2\1\3\2\3\3}
Quindi se un numero compare 3 volte, c'è scritto 3 per 3 volte.
Allora se fai il reciproco:
1/CONTA.SE(rng;rng)
ottieni
{0,5\1\0,333333333333333\0,5\0,333333333333333\0,333333333333333}
e se sommi questi valori ottieni 1 per ogni valore unico, perché ad esempio,
1/3 + 1/3 + 1/3 fa 1
Il resto, ovvero scrivere CONTA.SE(rng;rng&"") serve per non avere valori
d'errore se alcune celle sono vuote e la parte finale, il CONTA.SE(rng;"")>0
è solo un fattore di correzione, per evitare che la formula consideri anche
l'eventuale cella vuota come valore unico.
Spero di essere stata chiara, se hai dubbi, siamo qui.
Ciao
Barbara
[...]
Ciao Barbara,
scusami, ma io non riesco a notare la differenza tra la tua formula e
quella di ivano.
Correggimi se sbaglio.
La seconda parte della formula serve per correggere il numero delle
celle vuote presenti nella somma calcolata dalla prima parte della
formula, ma il numero di celle vuote può solo essere maggiore o uguale
a zero e se ad un numero sottrai zero resta uguale a se stesso.
Quel >0 mi sembra ininfluente.
E' giusto o sto sbagliando qualcosa?
La formula di ivano l'ho studiata (sono un "niubbo" per quanto
riguarda le matriciali) e non riesco a capire come possa dare un
risultato negativo, a meno che l'intervallo rng non cambi, l'ho anche
provata e funziona, a me sembra perfetta.
Ciao
--
...saoche[at]despammed[dot]com...
>[...]
> E' giusto o sto sbagliando qualcosa?
Sbaglio.
Ho fatto delle altre prove e la differenza c'č.
Ora mi rimetto allo studio.
Sě, la differenza č che CONTA.SE(rng;"") conta *quante* celle vuote ci sono
in range, mentre CONTA.SE(rng;"")>0 ti resituisce un valore logico VERO o
FALSO che indica *se* in range ci sono celle vuote.
Poi nel contesto della formula, il valore logico diventa 0 o 1 e "aggiusta"
il valore restituito dalla SOMMA(1/conta.se)) cosě che, nel caso di celle
vuote nel rng, sottragga 1, ovvero il valore unico "cella vuota"dal numero
totale dei valori unici.
[Porta pazienza, so... che non so spiegarmi!]
Ciao
Barbara
Chiedendo scusa a barbara....
scusami saoche,
sommare 2 volte l'inverso di due,
3 volte l'inverso di tre,
4 volte l'inverso di quattro,
1 volta l'inverso di uno
sei d'accordo che dà sempre uno?
sei d'accordo che la somma di tanti uno ti da l'univocità richiesta?
e se poi dal primo membro togli le celle vuote, cosa ottieni?
enzo
[...]
> Chiedendo scusa a barbara....
> scusami saoche,
> sommare 2 volte l'inverso di due,
> 3 volte l'inverso di tre,
> 4 volte l'inverso di quattro,
> 1 volta l'inverso di uno
> sei d'accordo che dà sempre uno?
> sei d'accordo che la somma di tanti uno ti da l'univocità richiesta?
> e se poi dal primo membro togli le celle vuote, cosa ottieni?
> enzo
Ciao Enzo,
si poi me ne sono reso conto, anche gli spazi vengono conteggiati una
volta sola (è qui che sbagliavo), quindi basta chiedere se
nell'intervallo è presente almeno uno spazio e sottrarre 1 (vero) o 0
(falso) al risultato della prima formula.
Ti ringrazio e grazie anche a Barbara e Ivano.
ripeto quello che ho scritto nell'altro post:
sommare 2 volte l'inverso di due,
,, 3 volte l'inverso di tre, (ad es. riferito a 3 celle vuote)
,, 4 volte l'inverso di quattro,
,, 1 volta l'inverso di uno
sei d'accordo che dà sempre uno?
sei d'accordo che la somma di tanti uno ti da l'univocità richiesta
(compreso l'uno riferito alle celle vuote)?
e se poi dal primo membro togli l'UNO riferito alle celle vuote (se
esistono), ottieni cio che vuoi.
enzo