Excel-formel: Räkna unika numeriska värden i ett intervall -

Innehållsförteckning

Generisk formel

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

Sammanfattning

För att räkna unika numeriska värden i ett intervall kan du använda en formel baserad på FREKVENS- och SUMMA-funktionerna. I exemplet som visas visas antalet anställda i intervallet B5: B14. Formeln i F5 är:

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

som returnerar 4, eftersom det finns 4 unika medarbetar-id i listan.

Förklaring

Obs! Innan Excel 365 hade Excel inte en dedikerad funktion för att räkna unika värden. Denna formel visar ett sätt att räkna unika värden, så länge de är numeriska. Om du har textvärden eller en blandning av text och siffror måste du använda en mer komplicerad formel.

Excel FREQUENCY-funktionen returnerar en frekvensfördelning, som är en sammanfattningstabell som visar frekvensen för numeriska värden, organiserade i "lagerplatser". Vi använder det här som ett rondell för att räkna unika numeriska värden.

Arbetar inifrån och ut, vi levererar samma uppsättning siffror för både dataarray och bins array till FREQUENCY:

FREQUENCY(B5:B14,B5:B14)

FREQUENCY returnerar en matris med ett antal av varje numeriskt värde i intervallet:

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

Resultatet är lite kryptiskt, men innebörden är 905 visas fyra gånger, 773 visas två gånger, 801 visas en gång och 963 visas tre gånger.

FREQUENCY har en speciell funktion som automatiskt returnerar noll för alla siffror som redan har dykt upp i dataarrayen, varför värdena är noll när ett tal har påträffats.

Därefter testas vart och ett av dessa värden större än noll:

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

Resultatet är en array som denna:

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

Varje SANT representerar ett unikt nummer i listan. SUMMET ignorerar logiska värden som standard, så vi tvingar Sanna och FALSKA värden till 1s och 0s med en dubbel negativ (-), vilket ger:

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

Slutligen lägger SUM upp dessa värden och returnerar summan, som i detta fall är 4.

Obs! Du kan också använda SUMPRODUCT för att summera objekten i matrisen.

Använda COUNTIF istället för FREQUENCY för att räkna unika värden

Ett annat sätt att räkna unika numeriska värden är att använda COUNTIF istället för FREQUENCY. Detta är en enklare formel, men se upp att använda COUNTIF på större datamängder för att räkna unika värden kan orsaka prestandaproblem. FREQUENCY-formeln, även om den är mer komplicerad, beräknar mycket snabbare.

Bra länkar

Mike Girvins bok Control-Shift-Enter

Intressanta artiklar...