Excel képlet: Számolja meg az egyedi dátumokat

Tartalomjegyzék

Általános képlet

=COUNT(UNIQUE(date))

Összegzés

Az egyedi dátumok (a példában a "kereskedési napok") számlálásához használhatja az UNIQUE függvényt a COUNT függvénnyel, vagy a COUNTIF függvényen alapuló képletet. A bemutatott példában a G8 cellában szereplő képlet a következő:

=COUNT(UNIQUE(date))

ahol a dátum a megnevezett tartomány B5: B16.

Magyarázat

Hagyományosan az egyedi elemek Excel-képlettel történő számlálása trükkös problémát jelent, mivel nem volt külön dedikált funkció. Ez azonban megváltozott, amikor dinamikus tömböket adtak az Excel 365-hez, számos új funkcióval együtt, beleértve az UNIQUE-t is.

Megjegyzés: Az Excel régebbi verzióiban egyedi elemeket számolhat a COUNTIF vagy a FREQUENCY függvényekkel, az alábbiakban leírtak szerint.

A bemutatott példában a táblázat minden sora tőzsdei kereskedelmet képvisel. Egy néhány dátum, több kereskedés is megtörténik. A cél a kereskedési napok számlálása - az egyedi dátumok száma, amelyeken valamilyen kereskedelem történt. A G8 cellában szereplő képlet a következő:

=COUNT(UNIQUE(date))

Belülről kifelé haladva az UNIQUE függvény az egyedi dátumok listájának kivonására szolgál a megnevezett tartományból:

UNIQUE(date) // extract unique values

Az eredmény egy 5 ilyen számból álló tömb:

(44105;44109;44111;44113;44116)

Minden szám egy Excel dátumot képvisel, dátum formázás nélkül. Az 5 dátum: október 1., 20., 5., 20., 7., 20., 9. és 20., valamint október 20..

Ezt a tömböt közvetlenül a COUNT függvénynek juttatjuk el:

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

amely végeredményként a numerikus értékek számát adja vissza (5).

Megjegyzés: A COUNT függvény numerikus értékeket számít, míg a COUNTA függvény mind a numerikus, mind a szöveges értékeket. A helyzettől függően lehet értelme egyiket vagy másikat használni. Ebben az esetben, mivel a dátumok numerikusak, a COUNT értéket használjuk.

COUNTIF-el

Az Excel régebbi verziójában a COUNTIF függvény segítségével egyedi dátumokat számíthat egy ilyen képlettel:

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

Belülről kifelé haladva a COUNTIF egy tömböt ad vissza, amelyben a listában szereplő összes dátum meg van számlálva:

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

Ezen a ponton:

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

Miután az 1-et elosztjuk ezzel a tömbvel, töredékértékek tömbje van:

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

Ezt a tömböt közvetlenül a SUMPRODUCT függvény szállítja. Ezután a SUMPRODUCT összegzi a tömb elemeit, és visszaadja az összeget, 5.

GYAKORISÁGgal

Ha nagy adatkészlettel dolgozik, teljesítményproblémái lehetnek a fenti COUNTIF képlettel. Ebben az esetben átválthat egy tömbképletre a FREQUENCY függvény alapján:

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

Megjegyzés: Ez egy tömbképlet, amelyet a Control + Shift + Enter billentyűkombinációval kell megadni, az Excel 365 kivételével.

Ez a képlet gyorsabban fog kiszámolni, mint a fenti COUNTIF verzió, de csak numerikus értékekkel fog működni. További részletekért lásd ezt a cikket.

érdekes cikkek...