Excel-formel: Tæl unikke datoer -

Indholdsfortegnelse

Generisk formel

=COUNT(UNIQUE(date))

Resumé

For at tælle unikke datoer ("handelsdage" i eksemplet) kan du bruge UNIQUE-funktionen med COUNT-funktionen eller en formel baseret på COUNTIF-funktionen. I det viste eksempel er formlen i celle G8:

=COUNT(UNIQUE(date))

hvor datoen er det navngivne interval B5: B16.

Forklaring

Traditionelt har tælling af unikke emner med en Excel-formel været et vanskeligt problem, fordi der ikke har været en dedikeret unik funktion. Det ændrede sig imidlertid, da dynamiske arrays blev føjet til Excel 365 sammen med flere nye funktioner, herunder UNIK.

Bemærk: I ældre versioner af Excel kan du tælle unikke elementer med COUNTIF-funktionen eller FREKVENS-funktionen som forklaret nedenfor.

I det viste eksempel repræsenterer hver række i tabellen en aktiehandel. En nogle datoer, mere end en handel udføres. Målet er at tælle handelsdage - antallet af unikke datoer, hvor en slags handel fandt sted. Formlen i celle G8 er:

=COUNT(UNIQUE(date))

Arbejder indefra og ud, UNIQUE-funktionen bruges til at udtrække en liste over unikke datoer fra det navngivne interval "dato":

UNIQUE(date) // extract unique values

Resultatet er en matrix med 5 numre som denne:

(44105;44109;44111;44113;44116)

Hvert tal repræsenterer en Excel-dato uden datoformatering. De 5 datoer er 1-okt-20, 5-oktober-20, 7-oktober-20, 9-oktober-20 og 12-oktober-20.

Denne matrix leveres direkte til COUNT-funktionen:

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

der returnerer et antal numeriske værdier, 5, som det endelige resultat.

Bemærk: COUNT-funktionen tæller numeriske værdier, mens COUNTA-funktionen tæller både numeriske og tekstværdier. Afhængigt af situationen kan det give mening at bruge det ene eller det andet. I dette tilfælde bruger vi COUNT, fordi datoer er numeriske.

Med COUNTIF

I en ældre version af Excel kan du bruge COUNTIF-funktionen til at tælle unikke datoer med en formel som denne:

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

Arbejder indefra og ud, COUNTIF returnerer en matrix med et antal for hver dato på listen:

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

På dette tidspunkt har vi:

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

Efter at 1 er divideret med dette array, har vi et array med brøkværdier:

(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 matrix leveres direkte til SUMPRODUCT-funktionen. SUMPRODUCT summerer derefter elementerne i arrayet og returnerer det samlede antal 5.

Med FREKVENS

Hvis du arbejder med et stort sæt data, har du muligvis problemer med ydeevnen med formlen COUNTIF ovenfor. I så fald kan du skifte til en matrixformel baseret på FREKVENS-funktionen:

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

Bemærk: Dette er en matrixformel og skal indtastes med kontrol + skift + enter, undtagen i Excel 365.

Denne formel beregner hurtigere end COUNTIF-versionen ovenfor, men den fungerer kun med numeriske værdier. For flere detaljer, se denne artikel.

Interessante artikler...