Příspěvky uživatele


< návrat zpět

Strana:  1 2 3 4 5 6 7 8 9   další » ... 14

Pokud jde o jeden měsíc tak lze
=SUMIFS(A:A;B:B;"CZ";C:C;">=1.měsíc.rok";C:C;"<=Poslední.měsíc.rok")

Například v D1 je měsíc, v E1 je rok:

=SUMIFS(A:A;B:B;"CZ";C:C;">="& DATUM(E1;D1;1);C:C;"<="& EOMONTH(DATUM(E1;D1;1);0))

Teprve teď jsem si všiml, že AL napsal totéž. 1

Pokud potřebuješ více měsíců, můžeš vzorec "namnožit" pro jednotlivé měsíce a sečíst nebo totéž udělat maticovým vzorcem:

{=SUMA(SUMIFS(A:A;B:B;"CZ";C:C;">="& DATUM(E1:E3;D1:D3;1);C:C;"<="& EOMONTH(DATUM(E1:E3;D1:D3;1);0)))}

(Bez složených závorek ale při ukládání použij ctrl-shift-enter)
V příkladu jsou v D1:D3 měsíce a v E1:E3 odpovídající roky.

Posílám ukázku

To nebyl dotaz.

Prostě pokud někdo si chce udělat rychlý přehled za minulý týden, tak data jsou posunuta o den. 7

Funkce zřejmě není moc používána. Prostě jsem v kot. tabulce zkusil rychle vybrat minulý týden. Pak jsem chvíli hledal chybu. Tohle mne hned nenapadlo.

Nástroj je to dobrý, ale chyb ja v něm na můj vkus docela dost. Tahle je další.

Možná slovenská verze je OK?

Zdravím.

Všimnul jsem si chování filtru kal. dat v kontigenční tabulce.

Pokud filtrujeme minulý, tento nebo příští týden, tak podle mikrosoftu týden začíná v neděli, končí v sobotu.

Verze min 2010 až 2016.

Taky je tu index:

=INDEX($A$1:$HVT$12;ŘÁDEK($1:$12);TRANSPOZICE(ŘÁDEK($1:$1000))*6-5)

(Maticově)

ad věk. Pokud to zůstane, jak je psáno, tj. je tam jen jeden uzavřený interval,
tak bych použil kontingenční tabulku.

Do řádků věk, seskupit, začátek = 18, konec = 26, krok 8.

a je to.

Viz data - citlivostní analýza, tabulka dat, případně správce scénářů.

Zkuste také zadat B1: =SUMA($A$2:A1), C1: =SUMA(A1:$A$2) a C1 také zkopírujte dolů.

A Excel tyto vzorce vyhodnocuje jako různé.

Jinak řečeno - kotva jednoho rozhu uprostřed bloku dělá neplechu.

Narazil jsem na to, když jsem hledal rozdílné vzorce (přejít na - jinak - rozdíly (ve sloupcích|řádcích)

Ještě soubor

Add okruhy:

Je třeba omezit počet proměnných. Místo vyplňování úhlopříčky lze nastavit nějaké řešení (nemusí být optimální) vybrat do pole proměnných jen zadané okruhy a hledat, jestli se nenajde menší počet balíků.

Když máte nalezený potřebný počet balíků seskupte nalezené řešení tak, aby použité okruhy byly v sousedních sloupcích (bez balíků s nulovou délkou mezi nimi). V buňce spočtěte max odpad.
Zadejte jako proměnné jen vybrané okruhy, cílová funkce je v buňce se spočteným max. odpadem a hledáme maximum.

Tato varianta neptimalizuje ostatní balíky. Pokud je v ostatních balících velký počet poměrně dlouhých kousků, lze vyčlenit balík s nejdelším zbytkem a proceduru zopakovat pro ostatní balíky.

Na příkladu jsem zkusil míslo prostého max hledat maximum sumy čtverců, což by mělo preferovat větší rozdíly mezi zbytky (velké by měly být co největší, malé naopak), ale dávalo to trochu horší výsledky.

OK

Opomněl jsem jedno omezení:
$I$2:$I$9>=0

A u cílové funkce hledáme nejmenší počet úseků. Je nutné zaškrtnout min.

Evoluční algoritmus nehledá absolutní optimum, ale generuje varianty a testuje, jestli se cílová funkce mění potřebným smerem. Pokud se dlouho nic nemění, tak se algortimus zastaví. Obvykle je výsledek dost dobrý. Pokud ne, lze ho spustit znovu, případně před opakovaným spuštěním ještě vhodně změnit některou z proměnných.

řešitel:

Do A2:A9 dejte délky úseků
Do B1:I1 čísla 1-9 (označení balíků)

Nejprve nastavíme počáteční stav : z každého balíku vezmeme jeden úsek. - diagonálu oblasti B2:H8 vyplníme číslem 1.

Poslední balík dopočteme:
Do I2 : =1-SUMA(B2:H2)
a zkopírujeme ho do i3:i9

Dále sečteme použité délky v balíku. Do B10 : =SOUČIN.SKALÁRNÍ($A$2:$A$9;B2:B9)
a zkopírujeme do C10:i10.

Do j10 vložíme cílovou funkci: =COUNTIF(B10:I10;">0")

řešitel:
cílová funkce: j10
proměnné : $B$2:$H$9
metoda : evoluční algoritmus
zaškrtnout podmínku nezápornosti

podmínky:
Proměnné jsou <=1 a celá
$B$2:$H$9<=1
$B$2:$H$9 = celé

V posledním balíku jsou úseky nejvýše po jedné:
$I$2:$I$9<=1

Délky jsou <= 200:
$B$10:$I$10<=200

Spusťte řešení

elninoslov to už poslal.

Jde prostě o to, že MATCH / POZVYHLEDAT porovnává data dokud nenajde potřebnou shodu, COUNTIF vždy prohlíží a porovnává vše. Pokud shodu nenajde je doba zpracování podobná, jako u countif (testováno).

Dvojí hledání otravuje. Obvykle ale chci najít druhý a další výskyt duplicit, případně otestovat existenci duplicit v datech, potom stačí jen jedno hledání.

Dobu výpočtu lze dále omezit nějak takto:
=je.číslo(iferror(pozvyhledat($a5;$a$1:$a4);pozvyhledat($a5;$a$6:$a$100)))

Poslední důvod - pracuji s dlouhými kódy, zapsanými jako text.

Např. kódy

'1234567890123456789
'1234567890123456790

countif vyhodnotí jako shodné.

Pro malý rozsah dat countif stačí, pro velký rozsah raději duplicity zjišťuji v pomocném sloupci.

K testování duplicit raděi používám POZVYHLEDAT.

V nejhorším případě je to stejně rychlé, jako COUNTIF. při větším počtu duplicit znatelně rychlejší (neprohledává to vše) a vyhnu se nepěkné automatické konverzi některých hodnot (dlouhá čísla jako text).

Neumí to jen hledat duplicity v poli s více sloupci a řádky.

Na okraj, hledání duplicit v podmíněném formátu provádí mj. konverze dat a je v některých případech nespolehlivé (typicky texty ve tvaru <číslo>/<číslo>)

Měl jsem 2 tipy:
Skryté objekty (viděl jsme na listu cca 150 tis. skrytých támečků a ikon - dělat nešlo, padalo i mazání všch objektů v makru. Musele se mazat po cca 10 tis. a ukládat)
a duplicitní hodnoty.


Strana:  1 2 3 4 5 6 7 8 9   další » ... 14

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura III

Oblíbený formulář Faktura byl vylepšen a rozšířen. Formulář faktura III
Více se dočtete zde.

Aktivní diskuse

filtrovat data do dalšího listu

Kozaksonek • 21.5. 19:18

filtrovat data do dalšího listu

Kozaksonek • 21.5. 19:14

filtrovat data do dalšího listu

marjankaj • 21.5. 18:30

filtrovat data do dalšího listu

Kozaksonek • 21.5. 15:49

Zaslání emailu po uložení souboru

1Novacek1 • 21.5. 15:16

Zaslání emailu po uložení souboru

1Novacek1 • 21.5. 13:56

Automatické filtrování

elninoslov • 21.5. 13:06