Na listu data pro každý řádek vytvořit unikátní hodnotu indexu složeného z hodnoty sloupce B a pořadového čísla pro každý prvek sloupce B (lze to spojit s podmínkami, za jakých prvek vstupuje do výběru, to co nemá vstoupit prostě pořadí nedostane). Základní předpoklad je, že hodnoty ve sloupci B jsou seřazeny, nejsou různě promíchané. Pak by to nefungovalo. Ten index by vypadal třeba takto "1_1", "1_2"... až "1_n", "2_1", "2_2"... až "2_n"...
Separovaná data mají číslo pořadí určeno číslem řádku, někde začne řádek s číslem pořadí 1. třeba ve sloupci A. Ty další sloupce jsou už konkrétní hodnoty dodané funkcí "svyhledat" ta funkce má první hodnotu určenou pro index a ten vytvořím jak je uvedeno výše hodnotou prvku + pořadí", druhá hodnota funkce je zdrojová tabulka data, třetí hodnota je číslo sloupce té tabulky ve které jsou ty hodnoty, čtvrtá hodnota je nula "0" neboli nepravda.
Na spojení dvou hodnot a přidání "_", slouží funkce CONCATENATE(1;"_";2) vytvoří textový řetězec "1_2".
Teď se nemůžu hrabat přímo v excelu, kdyžtak později, pokud nikdo nepřispěje s jiným a lepším řešením.