< návrat zpět

MS Excel


Téma: Challenge: Krizova tabulka rss

Zaslal/a 8.7.2015 15:42

Rikal jsem si, ze by nebylo spatne zde obcas publikovat nejake zajimave zadani problemu - jiste by to nekteri uvitali jako zpestreni a moznost se necemu novemu priucit. Tak zkusim zacit.
Zadani:
Ve sloupcich A-C jsou radek po radku vypsane vysledky jednoho rocniku nasi fotbalove ligy. Ukolem je napsat do bunky K21 vzorec (nasledne roztazeny na oblast K21:Z36), ktery tyto vysledky prevede do krizove tabulky tak, jak je naznaceno v tabulce J1:Z17. Takze v oblasti K21:Z36 bude bud vysledek (vzdy z pozice domaciho tymu, ktery je uveden ve sloupci J) nebo xxx v pripade, ze se shoduje jmeno tymu v pruseciku domaci/hoste.
Pravidla:
-neni dovoleno upravovat zdrojova data
-je mozno pouzit pouze vzorce (zadne VBA)
-nejsou povoleny pomocne sloupce
-reseni by melo byt funkcni pro jakykoliv typ vysledku (tzn teoreticky i napr vysledek 15:11)
-muze byt pouzit i maticovy vzorec

Tesim se na originalni navrhy reseni.

Pepe

PS. Pokud neco neni jasne, tak se klidne ptejte.

Příloha: zip25837_krizova-tabulka.zip (13kB, staženo 160x)
Zaslat odpověď >

icon #025840
eLCHa
Je legrace, že v podstatě stejné řešení použil AL ve vedlejším vlákně (možná mi někdo uvěří, že nezávisle ;)) ).=IFERROR(INDEX($C$2:$C$270;POZVYHLEDAT($J21&"-"&K$20;$A$2:$A$270&"-"&$B$2:$B$270;0));"XXX")samozřejmě maticověcitovat
icon #025841
avatar
Ja Vám verím, Vy opisovať nepotrebujete 1citovat
#025842
avatar
tak jsem si to taky zkoušel a vlastně téměř shodné řešení s eLCHa akorát je to jeden vzorec pro celou oblast (maticově)

=IFERROR(INDEX($C$2:$C$270;POZVYHLEDAT($J$21:$J$36&$K$20:$Z$20;$A$2:$A$270&$B$2:$B$270;0));"XXX")

to eLCHa můžu požádat o bližší vysvětlení &"-"&
s těma "a" tápu 4 tak by mi to docela pomohlo Díky 9citovat
icon #025843
avatar
Odpoviem za kolegu, ktorý už zrejme touto dobou spí: zmyslom &" - "& je oddeliť (vizuálne ale i logicky), dva spájané reťazce; bez použitia &" - "& by sa totiž v istých prípadoch mohlo stať, že spojením dvoch nerovnakých dvojíc by vyšiel ten samý výsledok, čo môže viesť k neočakávaným problémom, príklad:

1.
reťazec A1: PrvýDruhý
reťazec B1: Tretí

2.
reťazec A1: Prvý
reťazec B1: DruhýTretí

Za použitia A1&B1 by v oboch prípadoch bolo výsledkom PrvýDruhýTretí, zatiaľ čo za použitia A1&" - "&B1 to bude výsledok rozdielny pre prvý a druhý príklad. Spojovník teda slúži k vizuálnemu oddeleniu a zároveň (a to je to podstatnejšie) k eliminácii možnej chyby.citovat
#025844
avatar
myslím že se eLCHa zlobit nebude a já velice děkuji za jednoduché ale o to více věcné vysvětlenícitovat
icon #025846
eLCHa
@AL
díky, lépe bych to nevysvětlil ;))
Protože se to vizuálně nikde neprojeví, jde opravdu "jen" o vyloučení chyby. Popravdě, místo znaku "-" by bylo lepší zvolit něco jiného, protože i ten je trochu rizikový.
Takže bych měl raději použít "#" nebo lépe "°".citovat
#025847
avatar
Zajimavy pristup se spojovanim retezcu a vlozenim spojovacich znaku. Pravdepodobne lepsi a elegantnejsi, nez muj nematicovy vzorec:
=IF($J21=K$20,"XXX",INDEX($C$2:$C$270,SUMPRODUCT(($A$2:$A$270=$J21)*($B$2:$B$270=K$20)*(ROW($C$1:$C$269)))))

Po pravde, necekal jsem, ze to bude pro vas tak jednoduche :-). Kdyz jsem to pred drahnou dobou resil, tak me princip spojovani vyhledavacich retezcu vubec nenapadl a tak jsem se s tim moril pomerne dlouho.

Velmi rad uvitam vase zajimave problemy a zadani. Smyslem by melo byt se na vec podivat z vice uhlu a necemu se priucit. Pokud by nekdo chtel publikovat vlastni, tak na zacatek nazvu tematu dejte "challenge:"

Pepecitovat

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje