< návrat zpět
MS Excel
Téma: Subor sa otvara strasne dlho
Zaslal/a AL 4.12.2017 23:46
Ahoj, mam subor, ktory sa mi otvara strasne dlho, cca 5 minut. Nie je prilis velky, cca 8,6MB, ale je v nom 26 listov, spusta exceltables, komplikovanych vzorcov, makier a dynamickych grafov. Samozrejme, obsahuje, jak inak, firemne data :). Mal by niekto chut pozriet sa na to a pripadne prist s napadom, v com je hlavny problem / preco sa subor tak nechutne dlho otvara? Pokial by sa na to mal niekto chut pozriet, pripravil by som nejaku verziu, kde by som z dat citlive udaje odstranil. Vzhladom k tomu, ze samotna modifikacia dat zaberie nejaky cas, nechce sa mi do toho pustat pred tym, nez uvidim aspon nezavazny zaujem.
Petre, Karle, co Vy na to? Je to ovsem zadarmo, neziadam ziadne prekopanie logiky, mozno Vas ale hned napadne nieco, co by s tym slo vykonat a na co mozno nie som schopny prist.. Dajte pls vediet, kludne i cez SZ, ja by som to potom nachystal. Nijako to neponahla..
Je to jeden zo suborov, ktory som zdedil pri nastupe do prace a postupne si ho pretvoril k obrazu svojmu, takze dokazem zodpovedat kazdy dotaz, ktory by sa logiky v subore tykal..
AL(10.1.2018 10:21)#038980 lubo, akym sposobom pouzivas POZVYHLEDAT k testovaniu duplicit? Mohol by si to blizsie popisat alebo dat priklad, prosim?
citovat
elninoslov(10.1.2018 10:35)#038983 Hneď ma niečo napadlo, ale narazil som na potrebu hľadať 2x. Viď súbor. A to neviem či bude rýchlejšie ako napr. COUNTIF.
Příloha: 38983_pf-match.xlsx (9kB, staženo 27x) citovat
AL(10.1.2018 11:11)#038984 elninoslov, ten Tvoj sposob mi pride trochu krkolomny, nie ze by nefungoval, ale pokial to ma byt takto, tak za mna radsej Countif. Som zvedavy, s cim pripadne pride lubo.
citovat
elninoslov(10.1.2018 14:55)#038985 Tak som urobil
testík na 50K riadkoch pseudonáhodných textov. Snáď to počítam dobre. Každý test sa urobí 5x, a z toho priemer. Najlepšie mi vychádza ten MATCH/POZVYHLEDAT, aj napriek 2x hľadaniu.
To je ale iba 1 aspekt. Druhým je (ne)svižnosť súboru. Scroll je trhaný, zápis do buniek s oneskorením, apod.
AL má proste pravdu, ten PF je killer.
citovat
lubo(12.1.2018 15:06)#039014 elninoslov to už poslal.
Jde prostě o to, že MATCH / POZVYHLEDAT porovnává data dokud nenajde potřebnou shodu, COUNTIF vždy prohlíží a porovnává vše. Pokud shodu nenajde je doba zpracování podobná, jako u countif (testováno).
Dvojí hledání otravuje. Obvykle ale chci najít druhý a další výskyt duplicit, případně otestovat existenci duplicit v datech, potom stačí jen jedno hledání.
Dobu výpočtu lze dále omezit nějak takto:
=je.číslo(iferror(pozvyhledat($a5;$a$1:$a4);pozvyhledat($a5;$a$6:$a$100)))
Poslední důvod - pracuji s dlouhými kódy, zapsanými jako text.
Např. kódy
'1234567890123456789
'1234567890123456790
countif vyhodnotí jako shodné.
Pro malý rozsah dat countif stačí, pro velký rozsah raději duplicity zjišťuji v pomocném sloupci.
citovat
AL(12.1.2018 15:08)#039015 lubo, diky za objasnenie, pekny den prajem
citovat