SUMIF – sčítání podle kritéria
S tímto tématem se setkáte na našich kurzech ExcelTown.
Aktuálně: kurzy můžete absolvovat jak online, tak prezenčně.
V tomto článku je popsané fungování funkce SUMIF. Upozorňuji, že tato funkce je již zastaralá a byla nahrazena praktičtější funkcí SUMIFS.
Potřebuji posčítat hodnoty podle nějakého parametru. Např. v této tabulce chci sečíst tržby za jednotlivé pobočky do B21 až B23.
Návod
Použiji funkci SUMIF. Do buňky B21 napíšu funkci: =SUMIF($A$2:$A$18;A21;$B$2:$B$18) Co znamenají jednotlivé parametry funkce:
- $A$2:$A$18 říká, ve kterých buňkách jsou hodnoty, podle kterých určuji jestli do součtu položku zahrnu nebo ne. V mém případě jsou to názvy jednotlivých poboček. Protože se odkaz při roztahování vzorce nemění, je zafixovaný absolutním odkazem.
- A21 říká, že to, co chci posčítat v konkrétní buňce, se bude určovat podle buňky A1 - tedy v prvním řádku je to Brno.
- $B$2:$B$18 říká, ze které buňky se mají brát hodnoty pro sčítání. V mém případě jsou to tržby. Protože se odkaz při roztahování vzorce nemění, je zafixovaný absolutním odkazem.
Takto vypadá výsledek:
Poznámky:
- Druhým parametrem nemusí být odkaz na buňku. Může jím být text (v mém případě např. "Brno") nebo porovnávací znaménko (<,>...).
- O porovnávání číselných hodnot je tento příspěvek
Kurzy, na kterých se věnujeme funkci SUMIF (resp. modernější SUMIFS):
S tímto tématem se setkáte na našich kurzech ExcelTown.
Aktuálně: kurzy můžete absolvovat jak online, tak prezenčně.
a ještě jednou prosím o radu:
ve finální tabulce přenáším součty, které vyhledávám podle kritérií na jiných listech, např:
=SUMIFS(tržby_vstupné!$O:$O;tržby_vstupné!$A:$A;”101″)
funguje to, ale poslední parametr (v tomto případě 101)se v jednotlivých řádcích musí měnit a já bych potřebovala, abych ho nemusela zadávat ručně, ale aby se tam vkládal automaticky dle tohoto vzorečku obsah buňky z téhož listu. (Tento obsah je už výsledkem jiné funkce, jde o přiřazený kód). Určitě to musí nějak jít, třeba použitím další fce?? protože vložit jen odkaz na tu buňku nejde….
díky moc Radka
Například takto to musí fungovat:
=SUMIFS(tržby_vstupné!$O:$O;tržby_vstupné!$A:$A;X1)
asi si nerozumíme – co to je X1? 🙂
já potřebuji jako poslední argument políčko B3 (následně B4, B5,…) a v poli B3 je výpočet, který v tomto konkrétním případě je 101 (ale může být samozřejmě něco úplně jiného)
díky R
Tak doplňte místo X1 B3, nebo tomu špatně rozumím?
ajo, jsem já to ale blb!!! 😀 já to chtěla mermomocí dělat kliknutím na B3 a tohle jednoduché řešení mě nenapadlo…. 😀 díky moc, to mi výrazně ulehčí život 😉
Radka
🙂
Dobrý den,
můžete mi někdo poradit. Jakou funkci použít, když potřebuji sečíst v jednom sloupci čísla? Některá se mi ve sloupci opakují, ale já je potřebuji sečíst pouze jednou. Děkuji
Jana
Proč je oblast pro výběr pobočky
$A$2:$B$18
nemělo by to být
$A$2:$A$18
?
Jo, je to tak 🙂 Díky za upozornění.
Dobrý den,
když napíšu:
=SUMIF(A2:A5;”>C2″;B2:B5)
tak ať dělám co dělám… (dělám všechno správně, protože jsem to zkopíroval přímo z online nápovědy funkce SUMIF) …tak výsledná hodnota je “0”
v buňkách A2-A5 mám hodnoty 10,20,30,40
v buňkách B2-B5 mám hodnoty 10,20,30,40
takže když do C2 napíšu “25” tak výsledek je 70, ne?? (30+40)
🙂
děkuji
http://exceltown.com/navody/funkce/sumifs/sumif-a-
pouziti-pro-porovnavani-cisel/
Dobrý večer,
potřebuji vytvořit funkci, která by mi sčítala určité buňky, ale jen pokud nejsou prázdné. Zkoušel jsem i funkci SUMIF, ale vždy tam mám nuly v součtu, potřebuji, abych tam nulu neměl. Děkuji za rady
Tak to zapište takhle:
=když(sumif(…)=0;””;sumif(…))
Zkoušel jsem to takto zapsat, ale nevezme mi to s tím, že jsem zadal příliš málo argumentů..
A nemáte Excel nastavený podle americké lokalizace? Pak byste zapisoval místo středníků čárky…
Ne, to ne. Vzorec, který jste napsal jsem zkopíroval a do závorek jsem vložil buňky, které chci sečíst. Doufám, že jsem to dělal správně.
a jak jste to tedy zapsal?
Zapsal jsem to takto:
=když(sumif(J5:M5)=0;““;sumif(J5:M5))
Dobrý den,
lze kombinovat funkci SUMIFS s nějakou jinou funkcí, aby bylo možné automaticky změnit oblast součtu v případě, že dojde ke změně sloupce?
Příklad:
Ve sloupci A mám uvedené roky a potřebuji sečíst vše pro test3, který je ve sloupci D
Použiji tedy funkci =SUMIFS(D:D;A:A:”2017″)
A B C D E
1 rok test1 test2 test3 test4
2 2017 56 38 27 32
3 2018 24 64 24 68
4 2017 34 34 65 46
Po té nastane případ, že už není test1
Funkce =SUMIFS(D:D;A:A:”2017″) mi tedy již chybně sečte, je to tedy možné kombinovat s nějakou jinou funkcí?
Když bych chtěl vyhledat jen jedno hodnotu, tak bych použil SVYHLEDAT + POZVYHLEDAT, ale v tomto případě mne nic nenapadá.
Děkuji
Martin
A B C D E
1 rok test2 test3 test4 test5
2 2017 56 38 27 32
3 2018 24 64 24 68
4 2017 34 34 65 46
Nezkoušel jsem, ale možná by pomohlo si tu “plovoucí” oblast nastavit pomocí funkce POSUN / OFFSET.
Dobrý den,
prosím o radu, jak sečtu na jiném listu součet jednotlivých řádků v předchozím listu, když na každé řádce je jméno zaměstnance a sloupce jsou od jednotlivé dny v týdnu,
děkuji