Výuka a školení Excelu Výuka a školení Excelu Výuka a školení Excelu
Výuka a školení Excelu Výuka a školení Excelu

středa 31. července 2013

Práce s hierarchickými daty - má někdo zkušenost a poradí?

Nedávno jsem potřeboval vytvořit úkol podobný tomuto. Týká se práce s daty, která jsou řazena hierarchicky - v tomto příkladě se jedná o organizační strukturu pracovníků firmy.
Nenašel jsem ale žádné jednoduché řešení. Uměl bych asi napsat makro, ale raději bych našel řešení bez makra.
Je někdo schopný s tímto poradit?
V příkladu mám tabulku zaměstnanců. V jednom sloupci je jejich jméno, ve druhém jméno jejich nadřízeného a ve třetím mzda. Mohlo by jít i o dvě tabulky, jednu s identifikací nadřízeného a druhou s mzdou pracovníka - to je jedno.
Jde o to, že potřebuji sečíst mzdy všech podřízených určitého pracovníka - tak, jak je to ve druhé tabulce.
I když jsem to tehdy nakonec nemusel řešit, je to docela zajímavý oříšek který se mi nedaří rozlousknout. Poradí někdo? Hledám samozřejmě řešení, které je použitelné i pro rozsáhlé tabulky a nevyžaduje žádné "manuální" zásahy.
Nevadilo by, pokud by řešení bylo limitované např. pěti úrovněmi, jednalo se o data s malým počtem uzlů.



8 komentářů:

  1. Toto řeší vzorec "=SUMIFS($C$2:$C$7;$B$2:$B$7;A10)" umístěný do buňky B10 a rozkopírovaný směrem dolů.

    OdpovědětVymazat
  2. Neřeší. Uvedený vzorec najde pouze mzdy všech PŘÍMÝCH podřízených. Tedy ne těch, kteří jsou v hierarchii o dvě a více úrovní níže.

    OdpovědětVymazat
  3. Pokud chápu správně dotaz tak pro B11
    =SOUČIN.SKALÁRNÍ(SUBTOTAL(3;POSUN(B2:B7;ŘÁDEK(B2:B7)-MIN(ŘÁDEK(B2:B7));;1));(B2:B7=A11)*(C2:C7))+
    SOUČIN.SKALÁRNÍ(SUBTOTAL(3;POSUN(A2:A7;ŘÁDEK(A2:A7)-MIN(ŘÁDEK(A2:A7));;1));(A2:A7=A11)*(C2:C7))

    OdpovědětVymazat
  4. No, tak to si budu muset pořádně vyzkoušet, rozpadnout a snad i pochopit :) Zatím díky, J.

    OdpovědětVymazat
  5. Ono to funguje i v případě, kdy se vyfiltrují položky. Počíta jen ty zobrazené (pokud není filtru tak bere všechny).

    OdpovědětVymazat
  6. Muzes prosim vysvetlit logiku toho vzorce? Snazim se rozklicovat, ale zatim se mi to tedy moc nedari. Jinak ja se snazim ten vzorec pouzit, ale zatim mne to v pripade, ze ma clovek pod sebou dve urovne nefunguje. Mozna ale delam neco blbe.
    https://lh4.googleusercontent.com/-oyBZJiDRGes/Uf1_7iFVt4I/AAAAAAAAJIk/3ohaJC7ucC4/w1339-h835-no/Obr%25C3%25A1zek1.png

    OdpovědětVymazat
  7. A co jednoduše použit kontingencni tabulku?

    OdpovědětVymazat