
něco podobného jsem kdysi hodně dávno řešil v E2007 přes skrytý pomocný list a jen funkcemi listu (bez VBA).
Pokud může být, SNAD se mi přes svátky podaří ve starých souborech dohledat a poupravit.
Dotaz pro upřesnění
Sloupec "B" se neřadí ?
Jedná se o pevnou oblast C3:M9 do C14:M20 ?
R13(6.4.2023 18:31)citovat#054764 
Na zvislo si to zraziť vedel, aj keď je treba rozlišovať medzi absolútnymi a relatívnymi odkazmi.
Samostatne zrážať na vodorovno sa mi to podarilo dovodiť takto:
Do D14 vlož toto:
=IFERROR(INDEX($D3:$M3;0;SMALL(IF($D3:$M3<>"";COLUMN($D3:$M3)-3);COLUMN(A1)));"")
(ako maticový vzorec!!!)a vyplň napravo a nadol. Pozráža pôvodnú tabuľku na vodorovno.
Ešte to treba skombinovať, čo sa mi už nedarilo...
R13(7.4.2023 2:20)citovat#054766 
Musí to ísť aj bez pomocnej tabuľky, keď si uvedomíš, že výsledkom prvého maticového vzorca je matica, teda dvojrozmerné pole. To znamená že druhý maticový vzorec treba aplikovať na takto získané pole, čiže vnoriť prvý vzorec do druhého a získať tak aj "krížové" indexy... Podľa mňa ide len o dôsledné uvedomenie si ako funguje "zrážanie" v jednom smere a dôsledne v ňom aplikovať "zrážanie" v druhom rozmere... Pri mojich pokusoch o vnorenie som niekoľkokrát prešiel fázou, že "booožžee jasne, veď tu som zabudol na toto" alebo že "jassssne, veď tu som toto zmrvil" a bol som si istý, že po stlačení CSE to bude ok, ale zatiaľ mi to nevyšlo... Zatiaľ tiež len vnikám do tajov maticových vzorcov...
R13(7.4.2023 8:16)citovat#054769 
Je sympatické, že sa tiež pokúšaš to riešiť, častokrát je to tu o tom, že "vyriešte mi to".
Všimni si, že úlohu hrajú aj správne kombinácie absolútnych a relatívnych odkazov, som presvedčený, že na nich bude v riešení dosť záležať. Nedá mi to a mám sem-tam iskričky nápadov na vyskúšanie, ale už som na sviatky mimo domova a mimo pc...
r13(11.4.2023 14:28)citovat#054775 
Nnnno, tak po niekoľkých pokusoch-omyloch sa mi podarilo poskladať výsledný vzorec:
Do D14 zapíš:
=IFERROR(INDEX(INDIRECT(CONCATENATE("$D" & MATCH($C14;$C$3:$C$9;0)+2 & ":$M"& MATCH($C14;$C$3:$C$9;0)+2));0;SMALL(IF(INDIRECT(CONCATENATE("$D" & MATCH($C14;$C$3:$C$9;0)+2 & ":$M"& MATCH($C14;$C$3:$C$9;0)+2))<>"";COLUMN(INDIRECT(CONCATENATE("$D" & MATCH($C14;$C$3:$C$9;0)+2 & ":$M"& MATCH($C14;$C$3:$C$9;0)+2)))-3);COLUMN(A2)));"")
Zadať ako maticový vzorec!
SD14 vyplň doprava až po M14 a následne tento riadok vyplň nadol.
r13(11.4.2023 14:56)citovat#054776 
Tak ešte raz (mal som tam zbytočne zdupľovanú funkciu CONCATENATE so zreťazením operátormi &):
Do D14 maticovo:
=IFERROR(INDEX(INDIRECT("$D" & MATCH($C14;$C$3:$C$9;0)+2 & ":$M"& MATCH($C14;$C$3:$C$9;0)+2);0;SMALL(IF(INDIRECT("$D" & MATCH($C14;$C$3:$C$9;0)+2 & ":$M"& MATCH($C14;$C$3:$C$9;0)+2)<>"";COLUMN(INDIRECT("$D" & MATCH($C14;$C$3:$C$9;0)+2 & ":$M"& MATCH($C14;$C$3:$C$9;0)+2))-3);COLUMN(A2)));"")
Vyplniť doprava a nadol