Vzorec aplikace Excel: Počítejte jedinečné hodnoty v rozsahu pomocí funkce COUNTIF -

Obsah

Obecný vzorec

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

souhrn

Chcete-li spočítat počet jedinečných hodnot v rozsahu buněk, můžete použít vzorec založený na funkcích COUNTIF a SUMPRODUCT. V ukázkové ukázce je vzorec v F6:

=SUMPRODUCT(1/COUNTIF(B5:B14,B5:B14))

Vysvětlení

Při práci zevnitř ven je COUNTIF nakonfigurován na hodnoty v rozsahu B5: B14, přičemž všechny tyto stejné hodnoty používá jako kritéria:

COUNTIF(B5:B14,B5:B14)

Protože poskytujeme 10 hodnot pro kritéria, dostaneme zpět pole s 10 výsledky, jako je tento:

(3;3;3;2;2;3;3;3;2;2)

Každé číslo představuje počet - „Jim“ se objeví třikrát, „Sue“ se objeví dvakrát a tak dále.

Toto pole je nakonfigurováno jako dělitel s 1 jako čitatelem. Po rozdělení získáme další pole:

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

Jakékoli hodnoty, které se v rozsahu vyskytnou pouze jednou, se zobrazí jako 1 s, ale hodnoty, které se vyskytnou vícekrát, se zobrazí jako zlomkové hodnoty, které odpovídají násobku. (tj. hodnota, která se v datech objeví 4krát, vygeneruje 4 hodnoty = 0,25).

Nakonec funkce SUMPRODUCT sečte všechny hodnoty v poli a vrátí výsledek.

Zpracování prázdných buněk

Jedním ze způsobů, jak zacházet s prázdnými nebo prázdnými buňkami, je upravit vzorec následujícím způsobem:

=SUMPRODUCT(1/COUNTIF(data,data&""))

Zřetězením prázdného řetězce ("") k datům zabráníme nulam, aby skončily v poli vytvořeném funkcí COUNTIF, když jsou v datech prázdné buňky. To je důležité, protože nula v děliteli způsobí, že vzorec vyvolá chybu # DIV / 0. Funguje to, protože použití prázdného řetězce ("") pro kritéria bude počítat prázdné buňky.

Přestože tato verze vzorce nevyvolá chybu # DIV / 0, když má prázdné buňky, do počtu zahrne prázdné buňky. Pokud chcete z počtu vyloučit prázdné buňky, použijte:

=SUMPRODUCT((data"")/COUNTIF(data,data&""))

To má za následek zrušení počtu prázdných buněk vynulováním nuly čitatele pro přidružené počty.

Pomalý výkon?

Jedná se o skvělý a elegantní vzorec, ale počítá se mnohem pomaleji než vzorce, které používají FREQUENCY k počítání jedinečných hodnot. U větších datových sad možná budete chtít přepnout na vzorec založený na funkci FREKVENCE. Zde je vzorec pro číselné hodnoty a jeden pro textové hodnoty.

Zajímavé články...