< návrat zpět

MS Excel


Téma: Serazeni hodnot vzestupne mimo 0. rss

Zaslal/a 1.8.2013 18:25

Ahoj. Mam sloupec, ve kterym jsou cisla. Ja chci z tech cisel vyradit 0 a do jinyho sloupce je seradit od nejmensiho k nejvetsimu. Cisla nejsou (nemeli by bejt) zaporny.

Takze v tom sloupci jsou hodnoty napr:
0|0|0|0|0|0.12|0|0.58|0.01|0|0|0.99|0|0|0|0.31|0

Vystup do dalsiho sloupce by byl:
0.01|0.12|0.31|0.58|0.99

Jak bych toho mohl docilit? Diky.

Zaslat odpověď >

Strana:  1 2   další »
#014576
avatar
1. Skopírovať do druhého stlpca
2. Zoradiť od najmenšieho po najväčšie
3. Vymazať menšie a rovné nule
4. Znovu zoradiť.citovat
#014587
Opičák
pokud nevadí dva sloupce nebo jeden, který skryješ.
Příloha: rar14587_poradibeznul.rar (8kB, staženo 13x)
citovat
#014597
avatar
Diky Opicaku. To je presne ono. Aplikovat to ma muj soubor, kterej ma pres 155000 radku, byla ted na notebooku sranda. Nicmene po nekolika hodinach se ten prvni sloupec dopocital. Jenze ted kdyz kliknu na nejakou bunku, tak se to vzdy zacne prepocitavat. Myslim, ze je to normalni vlastnost excelu, ze se ty bunky vzdy prepocitavaj, aby byli vzdy aktualni. Jenze v tomhle pripade, kdy jedna bunka je zavisla na dalsich 155000 a ty se mezi sebou musej pretridit +celej ten proces je neoptimalizovanej, tak se s tim vubec neda pracovat.
Takze me napadaj 2 reseni. Bud u toho sloupce nejak vypnout ten automatickej refresh a nechat ho to spocitat jen jednou a pak uz ty hodnoty nechat bejt. To ale vubec netusim jak a jestli vubec jde. A nebo ten sloupec se vstupnima datama exportovat, nechat to vypocitat pomoci nekteryho stylu razeni (myslim bubble sort, heap sort a podobny..) externi program a pak to zase vlozit do excelu uz jen jako data.
Mimochodem pomer nul ku cislum, ktery porebuju je zhruba 98,5%:1,5%. Takze z tech +-155000 mi vyjde asi 2000 hodnot.
Nebo ma nekdo jinej napad, jak to vyresit? Diky.

edit: A nebo kompromis to napred nechat spocitat tou tvoji metodou, pak rucne zkopirovat ty hodnoty na konci, vlozit jako data a ten dlouhej sloupec smazat. Nicmene po vlozeni tech hodnot se mi celej excel zaseknul, ze uz neukazuje v kolika procentech je operace.citovat
#014598
avatar
A skúsil si môj postup?
Ak je to jednorazové, tak je to rýchle.
Ak to musíš robiť viackrát, tak si nahraj postup ako makro.

Môžeš to modifikovať
3. vyhľadaj 0 (CTRL+F)
4. vyznač od 0 po koniec (stlač END potom SHIFT+šipka dolu, potom CTRL+x a nastav sa na prvý riadok a ENTER)citovat
#014599
avatar
Ten zpusob, co jsem psal v predchozi zprave, fungoval.

marjankaj: aha, ja myslel, ze to byl teoretickej navod, kteryho jsem mel docilit pomoci kimbinaci funkci. Ted uz to chapu a je to samozrejme milion krat rychlejsi, protoze se kazda bunka neporovnava se vsema znovu.
Zezecatku jsem to sice myslel tak, ze by se to dynamicky vzdy prepocitalo, jak to udelal opicak. Ale s takovym mnozstvim hodnot to nepujde. Diky obema.citovat
#014602
Opičák
bublinová metoda
zkus jestli to je vhodné.
v makru je třeba změnit rozsah a umístění sloupce ze kterého se čísla načtou a kam se 9 vyvrhnou 9
Příloha: rar14602_razeni_bubl_s_vynechanim_nuly.rar (23kB, staženo 11x)
citovat
#014603
avatar

Opičák napsal/a:

bublinová metoda
zkus jestli to je vhodné.
v makru je třeba změnit rozsah a umístění sloupce ze kterého se čísla načtou a kam se vyvrhnou Příloha: 14602_razeni_bubl_s_vynechanim_nuly.rar

No makro bude pomalšie ako vstavané funkcie excelu. Hlavne pri veľkých rozsahoch.citovat
#014604
Opičák
Ještě mě napadá jiná možnost. Tato řešení zatím počítala i s nulovými hodnotami a těch je tam nejvíce, jak píšeš a teprve pak po seřazení nulové hodnoty odstraňují. Lepší by možná bylo nejprve nuly odstranit a pak srovnat zbytek.
@ marjankaj: nevím, zpravidla to tak bývá, možná dát calculate false.citovat
#014605
avatar

Opičák napsal/a:


@ marjankaj: nevím, zpravidla to tak bývá, možná dát calculate false.

No akýkoľvek SORT v kóde VBA bude pomalší ako interný SORT. Samozrejme pri malom rozsaho sa to prejaví minimálne.
VBA je interpretovaný jazyk. Teda sa najprv musí preložiť.citovat
#014606
Opičák
nejprve vyháže nuly a pak seřadí
edti:
nevím jaký máš pc, ale zkoušel jsem i 200 tisíc řádků a bubble metodou to netrvá ani 0,5 sec.
Příloha: rar14606_razeni_bubl_s_vynechanim_nuly_2.rar (25kB, staženo 10x)
citovat

Strana:  1 2   další »

Uživatelské menu

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

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura IV

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

Aktivní diskuse

Makro smyčka

elninoslov • 19.4. 9:02

Čas od do

elninoslov • 19.4. 8:46

Čas od do

jarek1111 • 18.4. 13:46

Čas od do

lubo • 18.4. 11:13

Čas od do

jarek1111 • 18.4. 8:32

Čas od do

jarek1111 • 18.4. 8:31

Makro smyčka

MilanKop • 18.4. 7:18