#Excel – Come contare i valori univoci in un intervallo che soddisfino dei criteri

Per contare i valori univoci in un intervallo che soddisfano determinati criteri, è possibile utilizzare una formula matriciale basata sulla funzione FREQUENZA.

Supponete di avere una lista di nomi di dipendenti con le ore lavorate su vari progetti. Desiderate sapere quanti dipendenti abbiano lavorato su un particolare progetto. Guardando i dati, notate che lo stesso nome appare più di una volta, ma voi volete conteggiare i nomi univoci.

Contare i valori univoci in un intervallo con criteri

Nell’esempio mostrato, la formula nella G4 (inserita come formula matriciale con Ctrl+Maiusc+Invio) è:

=SOMMA(--(FREQUENZA(SE(C3:C10=G3;CONFRONTA(B3:B10;B3:B10;0));RIF.RIGA(B3:B10)-RIF.RIGA(B3)+1)>0))

Come funziona questa formula

Questa formula utilizza FREQUENZA per contare i valori numerici univoci originati dalla funzione CONFRONTA, che confronta tutti i valori con se stessi per determinare una posizione.

Analizzando dall’interno, la funzione CONFRONTA viene utilizzata per ottenere la posizione di ogni elemento che appare nei dati. Poiché CONFRONTA restituisce solo la posizione della prima corrispondenza, i valori che compaiono più di una volta nei dati restituiscono lo stesso numero.

Appena all’esterno della funzione CONFRONTA,  la funzione SE filtra i soli valori che corrispondono ai criteri.

Alla fine, la serie di posizioni generate dalla funzione CONFRONTA viene utilizzata come argomento della funzione FREQUENZA come matrice_dati.

L’argomento matrice_classi è costruita invece con questa parte della formula:

RIF.RIGA(B3:B10)-RIF.RIGA(B3)+1

che utilizza il numero di riga di ogni elemento nei dati e il numero di riga del primo elemento dei dati per costruire un vettore, una matrice sequenziale come questa:

{1.2.3.4.5.6.7.8}

La funzione FREQUENZA restituisce una matrice di valori che corrispondono ai “contenitori”. In questo caso, stiamo fornendo la stessa serie di numeri sia come matrice_dati che come matrice_classi.

LEGGI:  #Excel - Come contare quanti lunedì (o un altro giorno) ci sono tra due date

Il risultato è che FREQUENZA restituisce una matrice di valori che indica il numero di volte in cui ogni valore della matrice appare. Questo funziona perché FREQUENZA è programmata per restituire “zero” per tutti i numeri che compaiono più di una volta nella matrice dei dati.

Poi, ciascuno di questi valori è convertito in VERO o FALSO dal costrutto “>0”, e quindi a “1” o “0” con il doppio unario (doppio trattino). Questo viene fatto per forzare tutti i valori diversi da zero a 1.

Infine, la funzione SOMMA addiziona semplicemente questi valori e restituisce il totale.

Nota: si tratta di una formula matriciale e deve essere inserita utilizzando Ctrl + Maiusc + Invio.

Gestire le celle vuote nell’intervallo

Se una o più celle nell’intervallo fossero vuote, è necessario sistemare la formula con l’aggiunta di un ulteriore SE per evitare che le celle vuote vengano passate alla funzione CONFRONTA restituendo quindi un errore #N/D. La formula in G5 (sempre da inserire come formula matriciale) è:

=SOMMA(--(FREQUENZA(SE(B3:B10<>"";SE(C3:C10=G3;CONFRONTA(B3:B10;B3:B10;0)));RIF.RIGA(B3:B10)-RIF.RIGA(B3)+1)>0))

 

Copyright © 2014-2017  Office Academy. Tutti i diritti riservati.
Vai alla barra degli strumenti