Poradíte lepší řešení probému v Excelu?
Se spoustou věcí už si dokážu poradit, ale tohle se mi zatím nedaří...
Neznáte nějakou (pro mě zatím neznámou) funkci nebo fintu, jak nemuset psát tolik funkcí KDYŽ, kolik je položek v seznamu? Navíc se občas počet položek může změnit, chtělo by to tedy nějaké obecnější řešení (ale pokud možno ne makrem).
Více viz ukázka v příloze, jedná se o sloupeček "Seznam položek 5"...
Funkce UNIQUE()
https://office.lasakovi.com/excel/funkce-nove/UNIQUE-funkce-unikatni-data-v-Excel/
Ahoj, díky za radu, ale buď jsem tuto funkci nepochopil, nebo ji neumím využít, ale pro sichr jsem zkusil všechny čtyři kombinace těch druhých dvou parametrů, ale moje zadání to nevyřešilo...
Potřebuji vypsat jen ty kódy, pod kterými se nachází číslo 5.
UNIQUE, jak jsem to já pochopil, vypisuje buď dvojice, které se vyskytují právě jenom jednou, případně se vyhodí zdvojené hodnoty. Ani jedna varianta ale neřeší moje zadání.
Tohle už je spíš na VBA a trošku programování.
Tady máš upravený vzorec, který vychází z jedné buňky a vše ostatní si "dopočítává". Šlo by jej jednoduše volat v cyklu 9x a poskládat výsledek.
Přidáním dalšího sloupce jen přidáš další řádek a zvedneš 9 na 10
Pokud chceš přidat sloupec, kde vypisujes počet pro 4, 3 atd. tak zase jen inkrementuješ sloupec v druhém výskytu POSUN(). Viz příloha. Tohle je připravené pro použití ve VBA, kde do argumentu POSUN() dáváš proměnnou cyklu.
Takže cyklus na Sloupce Počet 5 .. Počet 1 a v něm vnořený cyklus na projítí 9 sloupců.
Je to složitější než tvůj zápis, ale jednodušší na údržbu - máš pouze jeden vzorec.
Místo druhého posun by šel použít zápis adresy: L$1 (nechat absolutní pouze řádek). Pak bys mohl jednoduše vzorce kopírovat do sloupce pro hodnoty Počet 4 .. Počet 1, pokud trváš na vzorcích
Není to automat, ale při změně struktury stačí upravit jeden vzorec a vzorce jednoduše rozkopírovat
Páčilo by sa Ti viac napr toto: ?
do bunky S3 (a do ostatných skopírovať):
v českej verzii:
Děkuji, taky zajímavé řešení, asi to bez makra jednodušeji opravdu nepůjde...
Půjde pomocí maticového vzorce.
Witaj Siki! Už som čakal na Teba a Tvoje maticové riešenie
Ja som na to tiež chcel ísť s maticami a čiastočne sa mi aj niečo podarilo, ale ani za svet z toho získať zlúčený reťazec...
Žiaľ, mne Tvoj maticový vzorec vyhodnocuje ako #NÁZOV?
Ahoj, jakou máš verzi Excelu?
Funkce TEXTJOIN by měla být dostupná od verze 2016.
Mám 2016... Tak to bude asi od vyššej...
Alebo... nemáš to nejaký externý doplnok?
Ne ne, Excel 2019 bez doplňků.
Jo... V mojej 2016 to nie je podporované (pred funkciou mi aj vypíše "_xlfn")...
Děkuji, tak nějak jsem si to představoval.
Teď už jen pochopit ty podivné maticové vzorce, abych to uměl i já...
Matice bych si nechal do Matlabu, jen jsem neměl tu odvahu to tu navrhnout (matlab nepatří k běžnému vybavení domácího počítače)
bylo by programátorsky čistčí použít strukturu, ale dva vektory jeden s čísly a jeden s popisky je jednodušší. Funkce find vrátí indexy položek, které se dají přímo použít k indexování. Počet by potom byl numel(ind). A dá se s tím dělat spousta dalších věcí. A je úplně jedno, jestli je těch položek 10 nebo milion. A přitom je to rychlé i pro 10 milionů prvků, což je množství, které excel ani nenačte.
Tie funkcie nakoniec nie sú kratšie a jednoduchšie, než Tvoje niekoľkonásobné KDYŽ...
A makro? Problémom by bolo, že každým zápisom výsledku, získaného makrom, by sa hárok prepočítaval.
Musel by si generovať nový Random obsah manuálne, inak by sa ti zápisom výsledku makra vygenerovali nové vstupy a vyhodnotenie by sa vzťahovalo k predošlej variácii...
No nakonec jsem to přecejen zkusil s tím makrem a vlastní funkcí:
Ale s tím maticovým vzorcem výše to je elegantnější...
Aha, vidíš, dobrý nápad... výsledok funkcie nespôsobuje prepočet