Excel vyhledávací funkce
Zdravím všechny,
měl bych dotaz ohledně excelu a snad mi někdo dokáže poradit. Přiložil jsem k tomuto příspěvku soubor s daty... Na první listu jsou data s "názvy" materiálů a počty KS ke každému materiálu. A já potřebuji aby mi to na jednotlivé vytvořené listy vyfiltrovalo jednotlivé země materiálu s počty KS (podle koncovek u materiálu jako je POL=POLSKO apod..). A potřebuji aby to fungovalo tak, že když každý týden vložím nové data aby mi to ty data vyfiltrovalo (země zůstanou stejné i materiály) jenom počet se třeba změní, že Polska nebude 5 materiálu ale třeba 10 (ale vždy bude koncovka POL to se nemění) a to vše aby mi to vždy vypsalo i s počty KS na ty jednotlivé listy. Snad je to dost srozumitelné.
Za případné odpovědi děkuji.
Popravdě řečeno popis funkce i příloha stojí za pendrek.
Filtr by nestačil? Pokud se mají data rozhodit na samostatné listy, bude potřeba buď maticový vzorec nebo VBA. To bude také záležet na tom jaký má být výsledek tohoto snažení a množství dat a počet států. Pokud by byly použity velké rozsahy pro maticové vzorce, práce s takovým listem bude pomalá.
Pokud by se mělo použít VBA tak:
Kolik bude států?
Budou průběžně přibývat?
Listy se státy budou již předem vytvořeny?
Bude někde v listu (i skrytém) použita převodní tabulka POL = POLSKO?
Co se má stát s daty na prvním listu po jejich roztřídění? Mají se ponechat nebo smazat?
Co se má stát s daty v jednotlivých listech států při dalším spuštění makra? Mají se odstranit nebo se mají nová data vložit za stávající?
Budeš případně schopen si takové makro upravit pro použití ve svém "ostrém" souboru?
atd.
Ja neviem, nebola by na toto vhodná kontingečná tabulka?
Dá se to udělat bez maker (VBA), ale za cenu vytvoření pomocné tabulky a sloupců v každém listu země, stačí k tomu znalosti pár základních funkcí svyhledat, rank, jak udělat pořadí, kdyby se slučovaly kusy, protože tam je víc stejných produktů pro jednu zemi tak místo svyhledat se všude použije sumif. Seznamy produktů a zemí jsou dva ID parametry, ty lze spojit (concatenate) do jedinečného ID a zase taky kdykoliv rozpojit, takže se s tím dá pracovat podle potřeby funkcí (ideální je spojit a mezi nima nechat podrtžítko, pokud se tam podrtžítko jinak nepoužívá). Univerzální list (pro jednu zemi a tu definuje název listu, info v poslední větě) by měl pomocnou tabulku, kterou si nabere všechny produkty ze seznamu a kusy přiřadí podle toho jedinečného ID (svyhledat) a v prvním sloupci funkci (asi rank), která rozdá pořadové číslo od 1 nahoru a to jen pokud se objeví produkt s kusy. Finální tabulka, co má ukazovat, má pořadí od 1 nahoru a tady se využije funkce svyhledat do pomocné tabulky, vypíše to jen produkty a kusy, které se nacházejí ve zdrojové tabulce na vstupu, vše ostatní bude skryté, tak jako pomocné tabulky a sloupce se nakonec skryjí (chybové hlášky a vše co se nemá zobrazit se dají programově potlačit, skrýt). Dá se najít na netu postup jak bez VBA získat názvy listů a vypsat je do buněk včetně jejich automatické aktualizace, ty názvy pak využít ve funkcích, tohle zajistí automatizaci výpočtů vytvoření listu nové země z univerzálního listu, ručně se napíše země do názvu listu a do seznamu zemí se dostane automaticky.
Všem děkuji za odpověď, bohužel co se týče maker jsem naprostý amatér a nevyznám se v tom. Jak jsem si přečetl odpovědi nebude to tak lehké jak jsem doufal a tudíž to asi nechám udělat nějakého člověka co opravdu rozumí excelu, protože na toto jsem krátký. A chápu, že popis je chabý a příloha také, ale originál data sem nemohu vložit.