

Excel - makro (matice)
Zdravím,
mám matici vzdáleností bodů (A, B, atd.) na jednotlivých tratích (1, 2, atd.) jak je vidět dále v příloze
Potřebuji z toho udělat matici, kde v prvním sloupci budou rovněž body (A, B, atd.) a v průsečících řádků a sloupců bude jejich vzájemná vzdálenost (absolutní hodnota rozdílu hodnot z předchozí tabulky). Potřeboval bych na to makro, protože řádků je 300 a sloupců 236, čili vzorci je to opravdu brutální. Jediná výhoda je, že žádné dva body se nenachází současně na více než jedné trati. Teoretický algoritmus bych věděl, ale nedokáži z toho napsat makro.
Díky
ak som to dobre pochopil
...je to len absolútny základ bez kontroly, či máš úplné údaje a pod.
- Pokiaľ na niektorej trati budeš mať uvedené len jedno číslo, vzdialenosť sa logicky nemôže vypočítať ale neupozorní ťa to
(nehovorím, že sa to nedá dopracovať)
- Ak tam budeš mať na jednej trati viac ako dva údaje - smola: urobí ti rozdiel len medzi prvými dvomi údajmi
(nehovorím, že sa nedá dopracovať kontrola)
a pod...
Díky, podívám se na to. Každopádně ve většině případů mám na jedné trati více než dva údaje.
Tak jsem to vyřešil bez maker za pomoci tohoto vzorce:
ABS(SUMIFS(NEPŘÍMÝ.ODKAZ($A7;0);NEPŘÍMÝ.ODKAZ(D$1;0);">" &0)-SUMIFS(NEPŘÍMÝ.ODKAZ(D$1;0);NEPŘÍMÝ.ODKAZ($A7;0);">" &0))
Nepřímé odkazy vedou na buňky obsahující odkaz ve formátu R1C1 (vytvářel jsem jej za pomoci příkazu CONCATENATE a písmenka v názvech sloupců jsou pro velký počet hodnot nepoužitelná - nelze zvyšovat hodnotu tažením za "ouško"). V těchto odkazech jsou oblasti vzdáleností jednotlivých měst od bodu 0.
Ok, medzitým som doriešil to, o čom si informoval dodatočne, t.j. že na jednej trati je i viac než 2 body
Riešenie prikladám v prílohe.
ALE:
zároveň musí platiť to, čo si povedal: žiadna dvojica bodov sa nenachádza súčasne na viac než 1 trati (inak by došlo k prepisu údajov na naposledy vykonávaný výpočet pre konkrétnu dvojicu bodov)
Pokiaľ si si to už vyriešil inak, ok
Díky! Pro mě jsou makra trochu náročnější, jakmile nerozumím tomu, co dělám, tak to raději nedělám a snažím se najít jiné řešení. Každopádně se teď snažím implementovat na tato data Dijkstrův algoritmus nejkratší cesty - protože to s makry nedám, tak to vzorcuji :)