Excel-formel: Telle unike datoer -

Innholdsfortegnelse

Generisk formel

=COUNT(UNIQUE(date))

Sammendrag

For å telle unike datoer ("handelsdager" i eksemplet) kan du bruke UNIQUE-funksjonen med COUNT-funksjonen, eller en formel basert på COUNTIF-funksjonen. I eksemplet vist er formelen i celle G8:

=COUNT(UNIQUE(date))

der dato er det navngitte området B5: B16.

Forklaring

Tradisjonelt har det vært et vanskelig problem å telle unike elementer med en Excel-formel, fordi det ikke har vært en dedikert unik funksjon. Dette endret seg imidlertid når dynamiske matriser ble lagt til Excel 365, sammen med flere nye funksjoner, inkludert UNIK.

Merk: I eldre versjoner av Excel kan du telle unike elementer med COUNTIF-funksjonen eller FREKVENS-funksjonen, som forklart nedenfor.

I eksemplet som vises, representerer hver rad i tabellen en aksjehandel. En noen datoer, mer enn en handel utføres. Målet er å telle handelsdager - antall unike datoer da en slags handel skjedde. Formelen i celle G8 er:

=COUNT(UNIQUE(date))

UNIQUE-funksjonen fungerer fra innsiden og ut og brukes til å trekke ut en liste over unike datoer fra det valgte området "dato":

UNIQUE(date) // extract unique values

Resultatet er en matrise med fem tall som dette:

(44105;44109;44111;44113;44116)

Hvert tall representerer en Excel-dato uten datoformatering. De 5 datoene er 1.-20.-20., 5.-20.-20., 7.-20.-20., 9.-20.-20. og 12.-20.-20.

Denne matrisen leveres direkte til COUNT-funksjonen:

=COUNT((44105;44109;44111;44113;44116)) // returns 5

som returnerer et antall numeriske verdier, 5, som det endelige resultatet.

Merk: COUNT-funksjonen teller numeriske verdier, mens COUNTA-funksjonen teller både numeriske og tekstverdier. Avhengig av situasjonen kan det være fornuftig å bruke det ene eller det andre. I dette tilfellet, fordi datoene er numeriske, bruker vi COUNT.

Med COUNTIF

I en eldre versjon av Excel kan du bruke COUNTIF-funksjonen til å telle unike datoer med en formel som denne:

=SUMPRODUCT(1/COUNTIF(date,date))

COUNTIF arbeider fra innsiden og ut, og returnerer en matrise med en telling for hver dato i listen:

COUNTIF(date,date) // returns (2;2;3;3;3;2;2;2;2;3;3;3)

På dette punktet har vi:

=SUMPRODUCT(1/(2;2;3;3;3;2;2;2;2;3;3;3))

Etter at 1 er delt med denne matrisen, har vi en rekke brøkverdier:

(0.5;0.5;0.333333333333333;0.333333333333333;0.333333333333333;0.5;0.5;0.5;0.5;0.333333333333333;0.333333333333333;0.333333333333333)

Denne matrisen leveres direkte til SUMPRODUCT-funksjonen. SUMPRODUCT summerer deretter elementene i matrisen og returnerer totalt 5.

Med FREKVENS

Hvis du jobber med et stort datasett, kan du ha ytelsesproblemer med COUNTIF-formelen ovenfor. I så fall kan du bytte til en matriseformel basert på FREKVENS-funksjonen:

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

Merk: Dette er en matriseformel og må angis med kontroll + skift + enter, unntatt i Excel 365.

Denne formelen vil beregne raskere enn COUNTIF-versjonen ovenfor, men den fungerer bare med numeriske verdier. For mer informasjon, se denne artikkelen.

Interessante artikler...