Výčet prvků - Excel
Dobrý den,
potřeboval bych pomoci s jednou vychytávkou do Excelu. Vysvětlím o co jde. Podívejte se na obrázek níže.
http://imageshack.us/photo/my-images/525/vstieko.j pg/
Jde o jednoduchý výdajový doklad. Do toho žlutého sloupečku se píší jednotlivé firmy. Řekněme třeba: McDonald, Coca Cola, DHL, Tesco. Potřebuji, aby se přenesli do první buňky vyznačeného červeného řádku. To samozřejmě umím udělat pomoc "&" ale často se stává, že se nějaká firma opakuje. Potřebuji to tedy udělat tak, aby pokud bude nějaká z firem dvakrát, tak jí to dvakrát neopsalo. Nevím, ale jak.
Děkuji, a doufám, že jsem to vysvětlil srozumitelně.
Je možné vybrat ze skupiny dat pouze unikátní hodnoty?
Úlohu lze vyřešit více způsoby. Dobrým programátorským návykem však je používat v maximální míře vestavěné algoritmy Excelu. Ty jsou totiž odladěny a kompilovány v prostředí jazyka C+ a jsou tedy rámcově 10x rychlejší než příslušné postupy založené na VBA.
V našem případě využijeme objekt AdvancedFilter představující pokročilý filtr přístupný pomocí nabídky "Data" v uživatelské obrazovce Excelu, který umožňuje selekci unikátních hodnot v oblasti dat.
dataspectrum.cz
Touchwood, pokud to mám udělat takto, tak potřebuji pomoct, protože jsem nikdy filtry nepoužíval. Je možné se najít někde přes gmailchat, icq, skype, facebook? Budu to potřebovat vysvětlit krok po kroku a nechci svojí totální neznalostí špinit poradnu.
promiň, mám rád své soukromí
BTW nikdo ti za "neznalost" tady hlavu neutrhne, naopak poradna je postavena jako znalostní báze, tedy každý vyřešený problém slouží pro budoucí tazatele jako "odrazový můstek"
Navíc se necítím jako nějaký superodborník na excel (znám, používám, ale jsou tu ještě chytřejší a schopnější).
IMHO (netestoval jsem) to uděláš tak, že si uděláš ovládací prvek tlačítko, který provede ten kód a třeba jej i rovnou sloučí. moment, zkusím si to sám.
Jasně, promiň
Každopádně víc se mi líbí ta matice od siki83. Tam se aspoň chytám. Zkusím to přes ní a pak napíšu.
Tady máš akci na "tlačítko" (stačí si vyrobit ovl. prvek a dát mu tento kód).
V podstatě:
C6-C11 jsou buňky zdrojové (s duplikáty, můžeš si to rozšířit dle libost)
E6-E11 jsou výsledky (dočasné, budou nakonec smazány, zvol si místo někde zcela mimo, např. AX1:AX20, počet by měl být stejný jako u zdroje pro případ, že všechny zdrojové budou unikátní)
A1 je pole, kde se objeví výsledek
Ve For cyklu je tolik iterací (běhů), kolik je zdrojových buněk.
pomocí maticového vzorce
takto:
Nerad ti kazím radost Siki83, ale tvoje matice nefunguje. Schválně si zkus zadat dvě různé a pak dvě stejné věci. Vypíše ti to jen ty různé.
Navíc, nejsem si jist, zda ji budu umět udělat pro 8 budněk...
Na ten druhý způsob koukám teď... napíši za moment.
upozorňuju, že targetcell a buňky pod ním bude cílem sady záznamů (tj. umístit někam na jiný list, např.) - musíš si ještě zajistit sloučení do jedné buňky.
Jo, už funguje. Dokážeš mi ji udělat pro 8 políček. To já asi nesvedu.
Tak mi napiš z jakých buněk (rozsah např A8:A15 nebo C1:C8) chceš tahat data.
a87 až a94 a vkládat do c7. Myslíš, že bude fungovat tohle: ?
{=(CONCATENATE
(KDYŽ(NEBO(DÉLKA(C8)=0;C9:C15=C8);"";C8&", ")
;KDYŽ(NEBO(DÉLKA(C9)=0;C10:C15=C9);"";C9&", ")
;KDYŽ(NEBO(DÉLKA(C10)=0;C11:C15=c10);"";C10&", ")
;KDYŽ(NEBO(DÉLKA(C11)=0;C12:C15=c11);"";c12&", ")
;KDYŽ(NEBO(DÉLKA(C12)=0;C13:C15=c12);"";c12&", ")
;KDYŽ(NEBO(DÉLKA(C13)=0;C14:C15=c14);"";c13&", ")
;KDYŽ(NEBO(DÉLKA(C14)=0;C15=C14);"";C14&", ")
;KDYŽ(DÉLKA(C15)=0;"";C15)))}
Je to analogicky udělané z toho tvého. Pro rozsah c8 až c15 vkládání do c1. Každopádně už jsem zapomněl, jak se "ze vzorce dělala matice". Asi jsem to taky uměl, ale už si to nepamatuji. Když vložím je "{" na začátek a "}" na konec, tak ho samozřejmě nefunguje. . Nějaký fígl na to byl. Myslím, že jak jsem to udělal já, tak by to mělo fungovat, stačí mi říct, jak z toho udělat matici.
Po dopsání vzorce kombinace CTRL+SHIFT+ENTER
Díky, ale přeci jen budu potřebovat to od tebe vytvořit. To moje nefunguje. Uděláš mi to, prosím? Stačí pro rozsah osmi buněk.
Už jsem to rozchodil díky moc všem za rady.
Než to naklovu tak to máš hotový. Nu což hlavně ať to jede podle představ