Formula di Excel: conta valori numerici univoci in un intervallo -

Sommario

Formula generica

=SUM(--(FREQUENCY(data,data)>0))

Sommario

Per contare valori numerici univoci in un intervallo, è possibile utilizzare una formula basata sulle funzioni FREQUENZA e SOMMA. Nell'esempio mostrato, i numeri dei dipendenti vengono visualizzati nell'intervallo B5: B14. La formula in F5 è:

=SUM(--(FREQUENCY(B5:B14,B5:B14)>0))

che restituisce 4, poiché nell'elenco sono presenti 4 ID dipendenti univoci.

Spiegazione

Nota: prima di Excel 365, Excel non disponeva di una funzione dedicata per contare valori univoci. Questa formula mostra un modo per contare i valori univoci, purché siano numerici. Se hai valori di testo o una combinazione di testo e numeri, dovrai utilizzare una formula più complicata.

La funzione FREQUENZA di Excel restituisce una distribuzione di frequenza, ovvero una tabella riassuntiva che mostra la frequenza dei valori numerici, organizzati in "bin". Lo usiamo qui come un modo indiretto per contare valori numerici univoci.

Lavorando dall'interno verso l'esterno, forniamo lo stesso insieme di numeri sia per l'array di dati che per l'array di bin a FREQUENCY:

FREQUENCY(B5:B14,B5:B14)

FREQUENZA restituisce un array con un conteggio di ogni valore numerico nell'intervallo:

(4;0;0;0;2;0;1;3;0;0;0)

Il risultato è un po 'criptico, ma il significato è 905 appare quattro volte, 773 appare due volte, 801 appare una volta e 963 appare tre volte.

FREQUENZA ha una caratteristica speciale che restituisce automaticamente zero per tutti i numeri che sono già apparsi nella matrice di dati, motivo per cui i valori sono zero una volta che un numero è stato rilevato.

Successivamente, ciascuno di questi valori viene verificato per essere maggiore di zero:

(4;0;0;0;2;0;1;3;0;0;0)>0

Il risultato è un array come questo:

(TRUE;FALSE;FALSE;FALSE;TRUE;FALSE;TRUE;TRUE;FALSE;FALSE;FALSE)

Ogni TRUE rappresenta un numero univoco nell'elenco. La SOMMA ignora i valori logici per impostazione predefinita, quindi costringiamo i valori VERO e FALSO a 1 e 0 con un doppio negativo (-), che produce:

=SUM((1;0;0;0;1;0;1;1;0;0;0))

Infine, SUM somma questi valori e restituisce il totale, che in questo caso è 4.

Nota: puoi anche usare SUMPRODUCT per sommare gli elementi nell'array.

Utilizzo di CONTA.SE invece di FREQUENZA per contare valori univoci

Un altro modo per contare valori numerici univoci consiste nell'usare CONTA.SE invece di FREQUENZA. Questa è una formula più semplice, ma fai attenzione che l'utilizzo di COUNTIF su set di dati più grandi per contare valori univoci può causare problemi di prestazioni. La formula FREQUENZA, sebbene più complicata, calcola molto più velocemente.

Buoni collegamenti

Il libro di Mike Girvin Control-Shift-Enter

Articoli interessanti...