Fórum pro uživatele kancelářského balíku OpenOffice | LibreOffice
 

#1 20. 12. 2017 19:19:40

ZuLeweiner
Člen
Registrace: 20. 12. 2017
Příspěvků: 3

Jak ovlivnit kriteria funkce AVERAGEIF pomocí jiných funkcí - VYŘEŠENO

Zdravím,
mám tabulku, ve které bych chtěl spočítat průměr funkcí AVERAGEIF. Tabulka obsahuje dny v týdnu (opakující se) a každý den má nějakou hodnotu. Chci vytvořit další tabulku, která bude obsahovat statistiky o celém týdnu tak, že budu počítat průměrné hodnoty pro všechna pondělí, úterý, atd.

Jak mám pomocí fce AVERAGEIF a WEEKDAY výpočítat průměrnou hodnotu např. pro pondělí?

Editoval ZuLeweiner (20. 12. 2017 21:56:31)

Offline

#2 20. 12. 2017 19:31:11

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 2,710

Re: Jak ovlivnit kriteria funkce AVERAGEIF pomocí jiných funkcí - VYŘEŠENO

Ve sloupci A dny v týdnu, ve sloupci B hodnoty, v C1 vzorec pro pondělí

=AVERAGEIF(A1:B20;"pondělí";B1:B20)

podobně pro úterý v buňce C2

=AVERAGEIF(A1:B20;"úterý";B1:B20)

......
v buňce C7

=AVERAGEIF(A1:B20;"neděle";B1:B20)

Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte tak orientaci na fóru při vyhledávání řešení problémů
JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#3 20. 12. 2017 19:37:32

ZuLeweiner
Člen
Registrace: 20. 12. 2017
Příspěvků: 3

Re: Jak ovlivnit kriteria funkce AVERAGEIF pomocí jiných funkcí - VYŘEŠENO

neutr napsal(a)

Ve sloupci A dny v týdnu, ve sloupci B hodnoty, v C1 vzorec pro pondělí

=AVERAGEIF(A1:B20;"pondělí";B1:B20)

podobně pro úterý v buňce C2

=AVERAGEIF(A1:B20;"úterý";B1:B20)

......
v buňce C7

=AVERAGEIF(A1:B20;"neděle";B1:B20)

Zapomněl jsem zmínit, že dny v týdnu jsou zapsaná jako data, ne jako textový řetězec. Takže já se vlastně potřebuju zeptat, jestli je daná hodnota z pondělí a pokud ano, zahrnout ji do průměru.

Editoval ZuLeweiner (20. 12. 2017 19:45:26)

Offline

#4 20. 12. 2017 19:54:13

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 2,710

Re: Jak ovlivnit kriteria funkce AVERAGEIF pomocí jiných funkcí - VYŘEŠENO

To je trošku větší problém. Bude to chtít asi matici - ještě se podívám ale zatím mi WeekDay nejde přímo použít. Cestou by byl pomocný sloupec kde by byl WeekDay samostatně pro každý řádek. Ještě se podívám. Možná to někdo bude vědět dřív.


Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte tak orientaci na fóru při vyhledávání řešení problémů
JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#5 20. 12. 2017 21:40:21

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 2,710

Re: Jak ovlivnit kriteria funkce AVERAGEIF pomocí jiných funkcí - VYŘEŠENO

Tak si myslím, že to půjde jenom pomocí jiného postupu - nejspíš pomocným sloupcem. Testoval jsem i matice. Zatímco samotný výraz v matici {=WEEKNUM(A1:A20;1)} funguje, tak ho do žadné jiné funkce nezabalím. Prostě ani LOOKUP, VLOOKUP, SUMIF, COUNTIF, AVERAGEIF. Nepovedlo se mi to nahradit ani pomocí pomocí MOD (Modulo). To normálně vrací při zadání =MOD(Datum;7) prakticky totéž jen místo sedmičky vrací nulu. Ale ani to jsem tam nedostal.


     Datum je originálně číslo, takže můžeme dělat různé operace. Testoval jsem jak "holé" výrazy, tak výrazy "zabalené" do uvozovek. Ono se totiž musí vyhledávat "WEEKNUM(A1:A20;1)= číslo dne". To se dá udělat pomocí IF nebo TRUE. Proto mne docela překvapilo, že jsem to nedal ani pomocí Modulo. Ještě se podívám zítra, ale myslím že to jde jen pomcným sloupcem - ten se může skrýt.

Editoval neutr (20. 12. 2017 21:43:47)


Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte tak orientaci na fóru při vyhledávání řešení problémů
JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#6 20. 12. 2017 21:55:52

ZuLeweiner
Člen
Registrace: 20. 12. 2017
Příspěvků: 3

Re: Jak ovlivnit kriteria funkce AVERAGEIF pomocí jiných funkcí - VYŘEŠENO

neutr napsal(a)

Tak si myslím, že to půjde jenom pomocí jiného postupu - nejspíš pomocným sloupcem. Testoval jsem i matice. Zatímco samotný výraz v matici {=WEEKNUM(A1:A20;1)} funguje, tak ho do žadné jiné funkce nezabalím. Prostě ani LOOKUP, VLOOKUP, SUMIF, COUNTIF, AVERAGEIF. Nepovedlo se mi to nahradit ani pomocí pomocí MOD (Modulo). To normálně vrací při zadání =MOD(Datum;7) prakticky totéž jen místo sedmičky vrací nulu. Ale ani to jsem tam nedostal.


     Datum je originálně číslo, takže můžeme dělat různé operace. Testoval jsem jak "holé" výrazy, tak výrazy "zabalené" do uvozovek. Ono se totiž musí vyhledávat "WEEKNUM(A1:A20;1)= číslo dne". To se dá udělat pomocí IF nebo TRUE. Proto mne docela překvapilo, že jsem to nedal ani pomocí Modulo. Ještě se podívám zítra, ale myslím že to jde jen pomcným sloupcem - ten se může skrýt.

Tak jo, mockrát děkuju. S pomocným sloupcem si poradím. wink

Offline

#7 21. 12. 2017 01:03:28

lp.
Člen
Registrace: 24. 9. 2009
Příspěvků: 791

Re: Jak ovlivnit kriteria funkce AVERAGEIF pomocí jiných funkcí - VYŘEŠENO

Všechny *IF? funkce vyžadují odkaz na oblast, je jedno, jestli je zadána odkazem nebo vzorce, který vrací odkaz. Hodnoty nebere.

Pokud se pokusíme vytvořit vzorec s odkazem na vybrané dny týdne, je zbytečné používat funkci AVERAGEIF. Stačí tedy:

=AVERAGE(IF(WEEKDAY(A1:B20;1)=7;B1:B20;""))

(maticově)

ale pomocný sloupce je lepší (čitelnější a pro více dat i rychlejší.

Mimochodem, funkce *IF mají jednu dost významnou nectnost - zadané oblasti nemusí být stejné. To vede a) k potenciálním chybám a b) ke zpomalení výpočtů - funkce se v těchto případech přepočítávají vždy.

Bezpečnější je použití *IFS ekvivalentu. V tomto případě funkce AVERAGEIFS.

Často je ještě lepší vzorce nepoužívat a zvolit kontingenční tabulku.

Offline

#8 21. 12. 2017 09:23:14

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 2,710

Re: Jak ovlivnit kriteria funkce AVERAGEIF pomocí jiných funkcí - VYŘEŠENO

Ano "lp." to maticí vyřešil.

{=AVERAGE(IF(WEEKDAY(A1:B20;1)=7;B1:B20;""))}

     Já jsem se dopracoval jenom k součtu ale zatím jsem nevyřešil počet pomocí Count, nebo CountIf. To abych aritmetický průměr zadal jako součet hodnot / počtem případů.

{=SUM(IF(WEEKDAY(A1:A20;1)=1;B1:B20;0))}

     Dál už pokračovat nebudu - je to zbytečné ale s maticemi je práce "zapeklitější". Chce to hodně zkušeností.

Editoval neutr (21. 12. 2017 09:25:53)


Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte tak orientaci na fóru při vyhledávání řešení problémů
JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

Zápatí