Ve spolupráci se SEDUO jsem vytvořil několik videokurzů:
zjistěte počet buněk splňující požadovanou podmínku. Praktické použití statistické funkce COUNTIF v Microsoft Excelu včetně několika triků jak ji použít.
12.8.2014: Zpřehledněno.
V tomto článku je popsána funkce COUNTIF v Microsoft Excelu. Tato statistická funkce vám umožní spočítat počet buněk v oblasti, které splňují požadovanou podmínku.
Základní teoretický úvod do funkce COUNTIF.
=COUNTIF(oblast porovnávaných dat ; kritérium výběru)
Ve funkci COUNTIF lze pro kritérium použít i logické operátory:
Při hledání textu lze použít i zástupné znaky (podobně jako když hledáte v databázích). V Excelu se používá hvězdička a otazník.
Základní teorii o funkci COUNTIF máte za sebou. Dále se podíváme na praktické použití této zajímavé funkce.
V ukázkových příkladech budu používat tuto zdrojovou tabulku, na které ukážu praktické použití funkce COUNTIF.
Tabulku nemusíte vytvářet je k dispozici soubor
COUNTIF - zdrojová tabulka v MS Excel
ke stažení zdarma.
Jednoduchý příklady pro začátek, jistěte kolikrát se v sloupci Částka objevuje hodnota 1.000:
1. hodnotu 1000 přímo zapíšeme
=COUNTIF(E6:E16;1000)
2. hodnota kritéria je přes buňku
=COUNTIF(E6:E16;E6)
3. Jak se odkazovat pokud tabulka obsahuje pojmenovaný sloupec tabulkaMoje
=COUNTIF(tabulkaMoje;E6)
4. Pokud je tabulka naformátována pomocí stylu, bude vzorec vypadat:
=COUNTIF(Tabulka1[Částka];1000)
Pro jinou tabulku, která obsahuje seznam zaměstnanců. Potřebujete spočítat kolik jich má jméno "Karel". Opět lze použít funkci COUNTIF. Stačí použít:
=COUNTIF(E2:E12000;"Karel")
A máte hotovo :)
Poznámka: některé příklady se dají řešit i jinak například použitím filtru o kterých jsem psal v článku: Filtry v MS Excel
Jak spočítat počet čísel větších než 1000.
1. hodnotu 1000 přímo zapíšeme
=COUNTIF(E6:E16;">1000")
2. hodnota kritéria je přes buňku
=COUNTIF(E6:E16;">"&E6)
3. Pokud kriteriální hodnota je v buňce s rozsahem >1000
=COUNTIF(E6:E16;C29)
* znamená jakýkoli počet znaků ? přesný počet znaků, jeden otazník jeden znak.
1. kolikrát se v tabulce objevuje slovo koruna
=COUNTIF(C6:C16;"Koruna")
2. kolikrát se v tabulce objevuje slovo které obsahuje text koruna (takže třeba i stokoruna)
=COUNTIF(C6:C16;"*koruna*")
3. kolikrát slov má 6 znaků
=COUNTIF(C6:C16; "??????")
Poznámka: Opět se dá využít odkazů na buňku, využít pojmenované oblasti a styly aplikované na danou tabulku. (v C38 je ?????? v C39 je *koruna*
=COUNTIF(C6:C16; C38)
=COUNTIF(C6:C16; C39)
Další možností 3 znaky písmena CZ a další dva znaky:
=COUNTIF(B2:B12000;"???CZ??")
Spočtěte z prvního sloupce počet čísel větších/rovno 4 a menší rovno než 8.
=COUNTIF(tabulkaMoje; ">=4")- COUNTIF(tabulkaMoje; ">8")
Prakticky provedete tak, že sečtete všechny hodnoty od 4 (včetně) nahoru a od toho odečtete hodnoty nad 8.
Poznámka: Doplněno na základě dotazů v komentářích. Jinak pozor na znaménka =<> (zálaží na požadovaném intervalu, který požadujete).
Kolikrát se objevuje datum 6.1.2013 (neboli 41280 - tomuto číslu odpovídá 6.1.2013)
=COUNTIF(D6:D16;41280)
=COUNTIF(D6:D16;"6.1.2013")
=COUNTIF(D6:D16;D11)
Pokud půjde v datum v požadovaném rozmezí (větší/menší):
=COUNTIF(D6:D16;">="&D11)
=COUNTIF(D6:D16;">=6.1.2013")
=COUNTIF(D6:D16;">=41280")
Kolikrát se datum shoduje s dnešním dnem?
=COUNTIF(D6:D16;DNES())
Poznámka: Podrobněji v článku: Datum a čas teoretický úvod.
Potřebujeme zjistit kolik Adamu a Ev je v oblasti? Opět nic složitého:
=COUNTIF(E2:E12000;"Adam")+COUNTIF(E2:E12000;"Eva")
Podobně pokud budete chtít spočítat počet čísel 666, 777, 888
=COUNTIF(A2:A12000;666)+COUNTIF(A2:A12000;777)+COUNTIF(A2:A12000;888)
Rozsah (větší a rovno 10 a menší než 100)
=COUNTIF(A2:A12000; ">=10")- COUNTIF(A2:A12000; ">100")
Rozsah dynamicky (větší než průměr v dané oblasti)
=COUNTIF(data;">="&PRŮMĚR(data))
Funkci COUNTIF lze použít pro zjištění, zda se v tabulce nacházejí duplicitní hodnoty. Výsledek TRUE (ano jsou duplicitní)
=COUNTIF($E$6:$E$16;E7)>1
Pokud potřebujete kontrolovat více oblastí doporučuji použít funkci: COUNTIFS
Funkci COUNTIF lze využít i k určení pořadní, například potřebuji seřadit jména abecedně (abecedu), Pokud mám čísla lze využít funkci RANK, ale u písmen mohu využít funkci COUNTIF a zjisti počet hodnot větších rovno než a mám hotovo.
=COUNTIF($B$7:$B$11;"<="&B7)
=COUNTIF($B$7:$B$11;"<="&B8)
nebo opačně
=COUNTIF(B15:B19;">="&B15) =COUNTIF(B16:B20;">="&B16)První možnost je zkopírovat data na jeden list a použít výše uvedené postupy. V případě, že chcete ponechat na svých místech je také možnost. Viz dále.
Pokud máte data na více litech, musí se použít k výpočtu funkce SOUČIN.SKALÁRNÍ, NEPŘÍMÝ.ODKAZ, data se nachází na dvou listech List1, List2:
=SOUČIN.SKALÁRNÍ(COUNTIF(NEPŘÍMÝ.ODKAZ("List"&{1;2}&"!C6:C16");"Koruna"))
Hotová tabulka je hotova
COUNTIF - hotova tabulka v MS Excel
ke stažení zdarma.
Jak používáte funkci COUNTIF v Microsoft Excelu. V komentářích se můžete zmínit, zda tuto funkci používáte nebo využíváte jiné postupy (filtry, kontingenční tabulky, VBA kódy)?
Článek byl aktualizován: 19.09.2020 10:59
Ušetřil vám tento web čas, peníze? Pomohl vyřešit problém? Jste ochotni poskytnout symbolickou odměnu na další rozvoj? Vybrte si formu odměny, která vám vyhovuje.
Microsoft Office (Word, Excel, Google tabulky, PowerPoint) se věnuji od roku 2000 (od 2004 na této doméně) - V roce 2017 jsem od Microsoft získal prestižní ocenění MVP (zatím jsem jediný z ČR v kategorií Excel). Své vědomosti a zkušenosti dávám k dispozici i on-line ve videích pro SEDUO. Ve firmách školím a konzultuji, učím na MUNI. Tento web již tvořím přes 15 let. Zdarma je zde přes 1.000 návodu, tipů a triků, včetně přes 250 různých šablon, sešitů.
Přidáno: 28.06.12 08:39
Dobrý den, potřebuji v EXcelu získat počet buděk oblasti, které jsou větší nebo rovné, než buňka, ale ve funkci COUNTIF mi nelze zadat kritérium výběru jako vzorec. Umožňuje tato funkce tuto možnost, nebo ne?
Přidáno: 28.06.12 16:21
To Standa: Myslíte pro dvě hodnoty budu kontrolovat zda obsahuje KAREL nebo PAVEL?
Přidáno: 19.11.12 10:03
Dobrý den, potřeboval bych poradit, jak zadat funkci, která by mi vypsala počet buněk, které obsahují čísla větší nebo rovna 27,5 a zároveň menší nebo rovna 28,5. Jde o počet buňek, které svým obsahem odpovídají rozměru 28 +/-0,5. Dekuji
Přidáno: 21.11.12 16:38
To Zdeněk: Pomocí COUNTIF vybrat čísla do 28,5 a od toho odečíst čísla pod 27,5 a zbyde požadovaný interval.
Nebo využít funkci COUNTIFS kterou jsem popsal v: http://office.lasakovi.com/excel/funkce/countifs-funkce-statisticke-excel/
Přidáno: 13.11.13 00:07
Ahoj, chtěl jsem se zeptat jak ve fci COUNTIF můžu zadat do argumentu OBLAST zadat dvě oblasti buněk. Konkrétně B3:B6 a B10:B11. Znaky & a ^ my nefungují. Děkuju
Přidáno: 13.11.13 18:21
To Fanda Spilka: Použít funkci COUNTIFS http://office.lasakovi.com/excel/funkce/countifs-funkce-statisticke-excel/
Přidáno: 01.01.14 18:37
Pre ZDENEK a k prikladu "Spočtěte z prvního sloupce počet čísel větších/rovno 4 a menší rovno než 8." ak ide o tú istú oblasť ale viacnásobné kritérium, nie je nutné použiť COUNTIFS Stačí kritérium zadať napr. podmienka1 AND podmienka2 Alebo sa mýlim? ;-)
Přidáno: 26.06.14 20:09
To Vlado: Bohužel funkce COUNTIF, nezvládá použití funkci A, NEBO v argumentu kriterií. Pak by nebyla potřeba COUNTIFS.
Přidáno: 14.08.14 19:29
Zdravím! Už nějakou dobu hledám způsob, jak na duplicitní záznamy v sešitu excel. Mám sešit s devíti listy, mezi kterými chci vyhledávat případné duplicity a ty aby se probarvily ve všech svých výskytech. Na každém listu je identická tabulka, ve které je sloupec s jedinečným identifikačním číslem, podle kterého by se zjišťovaly případné duplicitní záznamy. Zadám-li tedy do libovolného listu určité identifikační číslo, které se již někde na listu, nebo v sešitu vyskytuje, chci, aby se probarvilo toto i to druhé a já tak zjistil, že zadaný údaj již někde je a abych ho podle probarvení mohl najít. Kdysi jsem dokonce chtěl, abych to hledání měl usnadněné podle odpovídající barvy příslušného listu, ale to jsem ještě netušil, že už samotná duplicita je takový extrém. Hodně mi pomohl váš web, ale pořád někde dělám nějakou chybku, kvůli které se mi ty duplicity nedaří pokořit. Poradíte mi, prosím?
Přidáno: 14.08.14 20:42
Ještě na doplnění - mám excel 2010
Přidáno: 18.08.14 14:53
To Fanouš: Nejprve Využít INDEX, POZVYHLEDAT pro vyber unikátních dat a pak přes COUNTIF spočítat
Přidáno: 29.08.14 02:56
Díky moc za radu. Ale jsem z toho stejnej jelen jak na začátku... Ještě nějakou dobu se budu snažit tím prokousat a uvidím.
Přidáno: 06.10.14 10:01
Dobrý den, existuje v excelu nějaká funkce, která by mi spočítala, kolik buňek v řádku obsahuje komentář? Případně alespoň nějaká funkce, která by mi vrátila hodnotu podle toho, zda buňka obsahuje komentář nebo ne? Mám sestavu, kde jsou určité buňky v řádku rozlišeny pouze barvou nebo komentářem. Po jednotlivých sloupcích je filtrovat mohu, ale potřeboval bych přidat jeden sloupec, podle kterého například vyfiltruji všechny řádky, ve kterých není žádný komentář (nebo není žádná barevná buňka). Předem děkuji za radu a přeji pěkný den
Přidáno: 16.12.14 13:54
Dobrý den, jak použít zástupný znak, když chci zjistit jaký počet buněk odpovídá kritérii vyrobeno v 90. letech, mám-li v buňkách zadán rok výroby např. 1994 atd. Zadala jsem kritérium v podobě "??9?", ale nefunguje. Děkuji za odpověď. Hezký den
Přidáno: 28.12.14 19:53
To Petr: Nutno využít VBA (makra).
Přidáno: 28.12.14 19:54
to Lenka Kandlerová: Je nutno spočítat rozmezí, viz kapitola v tomto článku: COUNTIF - spočítat rozmezí
Přidáno: 30.12.14 07:40
To Pavel Lasák: -- prosím opraviť v tomto článku v kapitole: "Složitější příklady na COUNTIF" tretí príklad na: =COUNTIF(A2:A12000; ">=10")-COUNTIF(A2:A12000; ">100") -- zmenil som iba znak "<" na ">" pred "100-kou"
Pavel Lasák: Děkuji opraveno.
Přidáno: 01.02.15 14:25
Dobrý den, nemůžu přijít na to, jak k dané buňce přičíst nebo odečíst procento z též dané buňky... 1200,- + 25%
Přidáno: 18.03.15 19:56
mám asi 10 000 čísel a potřebuju zjistit kolik čísel se tam nachází víc jak jednou :( jak na to ? :)
Přidáno: 16.05.15 09:05
To petr: Nejrychlejši přes kontingenční tabulku. Budeš vědět i kolikrát se které číslo nachází.
Přidáno: 31.07.15 19:13
Dobrý den, nemohu přijít na to, proč mi ve VB tyto řádky: Range("A3").Formula = "=SUMA(A1:A2)" - nefunguje (vloží textový řetězec =suma(A1:A2)) Range("A3").Formula = "=SUM(A1:A2)" - funguje (výsledek je =SUMA(A1:A2)) Range("A3").Formula = "=COUNTIF(A1:A2;1)" - nefunguje (chyba 10004) U funkce asi SUMA to má něco společno EN/CZ ale u funkce COUTIF mi to nedává smysl. Děkuji předem za odpověď Janko email: janko_v@volny.cz
Přidáno: 05.04.16 11:00
Dobrý den, potřebuji použít funkci COUNTIF na data, která mi ve sloupci zbydou po vyfilrování. Funkce SUBTOTAL tuto funkci neobsahuje. Je možné to nějak elegantně vyřešit? Děkuji MK
Pomohl Vám návod? Sdílejte na Facebooku, G+ |
||
LinkedIn... |
Stránky o MS Office (Excel) produktu společnosti Microsoft. Neslouží jako technická podpora.
| Email na autora: pavel.lasak@gmail.com | Copyright © : Pavel Lasák 2004 - 2025 |