Bene, abbiamo contato valori univoci utilizzando la funzione COUNTIF e SUMPRODUCT. Anche se questo metodo è semplice ma lento quando i dati sono grandi. In questo articolo impareremo come contare valori di testo univoci in Excel con una formula più veloce

0041

Formula generica per contare valori di testo univoci in Excel

=SUM(--(FREQUENCY(MATCH(range,range,0),ROW(first_cell_in_range)+1)>0))

Intervallo: l’intervallo da cui desideri ottenere valori univoci.

firstCell in range: è il riferimento della prima cella in range.

Se l’intervallo è A2: A10, allora è A2.

Vediamo un esempio per chiarire le cose.

Esempio: conta valori di testo univoci Excel

In un foglio Excel, ho questi dati di nomi nell’intervallo A2: A10. Voglio ottenere il conteggio dei nomi univoci dall’intervallo specificato.

0042

Applica qui la formula generica sopra per contare il testo univoco nell’intervallo Excel A2: A10. Ho chiamato A2: A10 come nomi.

=SUM(--(FREQUENCY(MATCH(names,names,0),ROW(A2)+1)>0))

Ciò restituisce il conteggio totale di testi univoci nell’intervallo A2: A10.

0043

Come funziona?

Risolviamolo dall’interno.

link: / lookup-formas-excel-match-function [MATCH] (nomi, nomi, 0) *:

questa parte restituirà la prima posizione di ogni valore nell’intervallo A2: A10 (nomi) come da proprietà di MATCH.

\ {1; 1; 3; 3; 5; 5; 7; 7; 7}.

Next link: / lookup-and-reference-excel-row-function [ROW] (A2: A19): Questo restituisce il numero di riga di ogni cella nell’intervallo A2: A10.

\ {2; 3; 4; 5; 6; 7; 8; 9; 10} link: / lookup-and-reference-excel-row-function [ROW] (nomi) -`link: / lookup-and -reference-excel-row-function [ROW] `(A2):

Ora sottraiamo il primo numero di riga da ogni numero di riga. Questo restituisce un array di numeri di serie a partire da 0.

\ {0; 1; 2; 3; 4; 5; 6; 7; 8} Dato che vogliamo avere un numero di serie che inizia da 1, aggiungiamo 1 ad esso.

link: / lookup-and-reference-excel-row-function [ROW] (names) -`link: / lookup-and-reference-excel-row-function [ROW] `(A2) +1.

Questo ci dà un array di numeri di serie che iniziano da 1.

\ {1; 2; 3; 4; 5; 6; 7; 8; 9} Questo ci aiuterà a ottenere un conteggio unico a condizione.

Ora abbiamo:

link: / statistics-formas-excel-frequency-function-2 [FREQUENZA] (* \ {1; 1; 3; 3; 5; 5; 7; 7; 7}, \ {1; 2; 3; 4; 5; 6; 7; 8; 9}).

Questo restituisce la frequenza di ogni numero in un dato array. \ {2; 0; 2; 0; 2; 0; 3; 0; 0; 0} Qui ogni numero positivo indica l’occorrenza di un valore univoco quando i criteri sono soddisfatti. Dobbiamo contare i valori maggiori di 0 in questo array.

Per questo lo controlliamo per> 0. Ciò restituirà VERO e FALSO. Convertiamo vero falso usando – (doppio operatore binario).

link: / math-and-trig-excel-sum-function [SUM] (- (\ {2; 0; 2; 0; 2; 0; 3; 0; 0; 0})> 0) questo si traduce in`link: / math-and-trig-excel-sum-function [SUM] `(\ {1; 0; 1; 0; 1; 0; 1; 0; 0; 0})

E finalmente otteniamo il conteggio univoco dei nomi nell’intervallo su criteri come 4.

Come contare il testo univoco nell’intervallo con celle vuote?

Il problema con la formula sopra è che quando hai una cella vuota nell’intervallo, verrà visualizzato l’errore # N / A. Per affrontare questo problema dobbiamo porre una condizione per controllare le celle vuote.

=SUM(--(FREQUENCY(IF(names <> “”,MATCH(names,names,0)),ROW(A2)+1)>0))

Questo darà un output corretto. Qui abbiamo MATCH incapsulato con la funzione IF. Puoi leggere la spiegazione completa nell’articolo Come contare i valori univoci in Excel con più criteri?

Quindi sì ragazzi, è così che puoi ottenere un conteggio del testo unico in Excel. Fammi sapere se hai dubbi su questo o qualsiasi altro argomento avanzato su Excel / VBA. La sezione commenti è aperta per te.

Scarica il file: