Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Funzione conta valori

495 views
Skip to first unread message

ivano

unread,
Apr 15, 2004, 10:43:54 AM4/15/04
to

"Mauro" <anon...@discussions.microsoft.com> ha scritto nel messaggio
news:97B22D37-FD54-462F...@microsoft.com...
> Devo contare il numero di valori DISTINTI presenti in un intervallo di
celle.
> Come posso fare?

rng= intervallo
inserisci la formula matriciale:
=SOMMA((1/CONTA.SE(rng;rng&"")))-CONTA.SE(rng;"")
.i


Barbara

unread,
Apr 15, 2004, 1:23:42 PM4/15/04
to

"Mauro" <anon...@discussions.microsoft.com> ha scritto nel messaggio
news:532F6C90-23F9-4A70...@microsoft.com...
> Non funziona... Dovrebbe darmi 27 invece mi da' -86 ...

Se non sbaglio, la formula corretta è:
=SOMMA(1/CONTA.SE(rng;rng&""))-(CONTA.SE(rng;"")>0)
matriciale

Ciao
Barbara


Barbara

unread,
Apr 15, 2004, 1:45:50 PM4/15/04
to

"Mauro" <anon...@discussions.microsoft.com> ha scritto nel messaggio
news:2159E5C1-4E24-4129...@microsoft.com...
> Cmq se mi spieghi la funziona che hai suggerito, vedo di modificarla...

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


saoche

unread,
Apr 15, 2004, 2:13:22 PM4/15/04
to
Nella news:#rqHt5wI...@TK2MSFTNGP12.phx.gbl del 15 apr 2004
*Barbara* ha scritto:

[...]

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...

saoche

unread,
Apr 15, 2004, 2:30:38 PM4/15/04
to
Nella news:Xns94CCCDB7F...@127.0.0.1 del 15 apr 2004
*saoche* ha scritto:

>[...]


> E' giusto o sto sbagliando qualcosa?

Sbaglio.
Ho fatto delle altre prove e la differenza c'č.
Ora mi rimetto allo studio.

Barbara

unread,
Apr 15, 2004, 3:37:01 PM4/15/04
to

"saoche" <sao...@nospam.invalid> ha scritto nel messaggio
news:Xns94CCD0A50...@127.0.0.1...

> Nella news:Xns94CCCDB7F...@127.0.0.1 del 15 apr 2004
> *saoche* ha scritto:
>
> >[...]
> > E' giusto o sto sbagliando qualcosa?
>
> Sbaglio.
> Ho fatto delle altre prove e la differenza c'č.
> Ora mi rimetto allo studio.
> Ciao

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

Enzo Samarelli

unread,
Apr 15, 2004, 4:09:45 PM4/15/04
to

"saoche" <sao...@nospam.invalid> ha scritto nel messaggio
news:Xns94CCD0A50...@127.0.0.1...

> Nella news:Xns94CCCDB7F...@127.0.0.1 del 15 apr 2004
> *saoche* ha scritto:
>
> >[...]
> > E' giusto o sto sbagliando qualcosa?
>
> Sbaglio.
> Ho fatto delle altre prove e la differenza c'è.

> Ora mi rimetto allo studio.

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

Enzo Samarelli

unread,
Apr 15, 2004, 4:22:14 PM4/15/04
to
per chiarezza:
e se poi dal primo membro togli l'UNO delle celle vuote, cosa ottieni?
enzo


saoche

unread,
Apr 15, 2004, 4:27:12 PM4/15/04
to
Nella news:#ZLUiWyI...@TK2MSFTNGP11.phx.gbl del 15 apr 2004
*Enzo Samarelli* ha scritto:

[...]


> 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.

Enzo Samarelli

unread,
Apr 15, 2004, 4:38:30 PM4/15/04
to

"Mauro" <anon...@discussions.microsoft.com> ha scritto nel messaggio
news:2159E5C1-4E24-4129...@microsoft.com...
> Cmq se mi spieghi la funziona che hai suggerito, vedo di modificarla...

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


0 new messages