Forum » Pomoč in nasveti » Excel kalkulacije - preko virtualke ipd.?
Excel kalkulacije - preko virtualke ipd.?
mirator ::
Samo zanima me, zakaj te moj predlog, da tabelo razbiješ na več zvezkov, ne zanima.
En zvezek imaš lahko samo za vnos podatkov, tabelo z rezultati pa razdeliš na več zvezkov. Ko delaš, imaš lahko odprte vse zvezke, računalnik pa bo obremenjen samo z zvezkom, ki ga boš imel v obdelavi.
En zvezek imaš lahko samo za vnos podatkov, tabelo z rezultati pa razdeliš na več zvezkov. Ko delaš, imaš lahko odprte vse zvezke, računalnik pa bo obremenjen samo z zvezkom, ki ga boš imel v obdelavi.
Zimonem ::
Samo zanima me, zakaj te moj predlog, da tabelo razbiješ na več zvezkov, ne zanima.
En zvezek imaš lahko samo za vnos podatkov, tabelo z rezultati pa razdeliš na več zvezkov. Ko delaš, imaš lahko odprte vse zvezke, računalnik pa bo obremenjen samo z zvezkom, ki ga boš imel v obdelavi.
Ker je pristop povem napačen, vsak Excel tutorial ga odsvetuje.
omni-vor ::
111111111111 je izjavil:
Kakšen pa imaš pogoj v if?
Nič posebnega ni v formuli. =(COUNTIF($A$1:$AI$45000;A1))
Štejem duplikate po vseh celicah. Zanima me kolikokrat se pojavi podatek iz A1 v vseh celicah. In potem podatek iz B1, C1, D1...AI1.
Na koncu pa seštevek vseh duplikatov v tej vrstici. In tako naprej za vsako vrstico posebej.
Je pa v celicah tekst oziroma kratice in ne številke. Mogoče ga to "zmatra".
Ni nobena skrivnost, sej zato pa sem priložil sliko malo višje. Je čisto hobi, ni pa za službo.
Bom danes za hec tole spravil v Access.
Kdor je naveličan te teme, ne rabi odgovarjat. Sem samo vprašal za nasvet, dali ste mi jih že kar nekaj.
joze67 ::
111111111111 je izjavil:
Kakšen pa imaš pogoj v if?
Nič posebnega ni v formuli. =(COUNTIF($A$1:$AI$45000;A1))
To in to:
gtfo: formula se ponavljajo samo na tak način, da se vsaka formula sklicuje na podatek v svoji vrstici.
ne gre skupaj. Občudujem ljudi v oddelkih podpori strankam, ki morajo take nebuloze prenašati dnevno.
Ti imaš 50.000 vrstic s po 40 stolpci, torej 2M celic. Za vsako poženeš COUNTIF čez vseh 2M celic. To je 4T operacij. I5 tu nima veze.
Pravilni postopek tukaj je, da podatke urediš in prešteješ, kolikokrat se kak podvoji. Pri čemer bo malo razlike, ali pričakuješ veliko podvajanj, malo podvajanj ali (najslabše) nekaj vmes
showsover ::
To nima smisla, potem mora imeti še eno matrki enake velikosti.
Izvorno in nespremenjeno s podatki.
Sekundarno s countif za vsakega od podatkov v tej osnovni matriki.
Po mojem mnenju gre tu za neko nerazumevanje.
Verjetno je že kdo prej delal na tem in se zaplezal.
Kakorkoli, nekdo je izbral napačno orodje za nejasno rešitev.
Imam malo močnejšo mašino :) pa zadeva ravno tako počepne.
Izvorno in nespremenjeno s podatki.
Sekundarno s countif za vsakega od podatkov v tej osnovni matriki.
Po mojem mnenju gre tu za neko nerazumevanje.
Verjetno je že kdo prej delal na tem in se zaplezal.
Kakorkoli, nekdo je izbral napačno orodje za nejasno rešitev.
Imam malo močnejšo mašino :) pa zadeva ravno tako počepne.
Zgodovina sprememb…
- spremenilo: showsover ()
joze67 ::
precomputation se temu reče in ima globok smisel. 4 biljone operacij bo terjalo svoj čas, oziroma algoritem, kot ga ima, je O(n^2) (če se ne skriva notri še kakšna mina). Torej, če ne uporabi O(n logn) algoritma, je stvar časovno neuporabna in je potem vseeno, ali so podatki spremenjeni, podvojeni ali kaj tretjega.
Invictus ::
Zakaj toliko COUNTIFov?
Sigurno niso potrebni.
Sicer pa malo bolj opiši problem.
Sigurno niso potrebni.
Sicer pa malo bolj opiši problem.
"Life is hard; it's even harder when you're stupid."
http://goo.gl/2YuS2x
http://goo.gl/2YuS2x
showsover ::
precomputation se temu reče in ima globok smisel. 4 biljone operacij bo terjalo svoj čas, oziroma algoritem, kot ga ima, je O(n^2) (če se ne skriva notri še kakšna mina). Torej, če ne uporabi O(n logn) algoritma, je stvar časovno neuporabna in je potem vseeno, ali so podatki spremenjeni, podvojeni ali kaj tretjega.
Razumem in se strinjam, pač iz te 35x45000 (1,6M) matrike se izračuna pojavnost vsakega posamičnega (!) elementa. V resnici bi se morali poiskati vsi različni elementi iz matrike, izračunati pojavnost in potem vpisati v prekomputirano tabelo (a je še potrebna?) iz te cachiranega slovarja pojavnosti. Sicer stvar ni trivialna (no, za zverzirane programerje je:) je pa vsekakor izvedljivo. Ampak do sem smo prišli šele, ko smo začeli reševati konkretno, ker bi bilo fino, da je to razlozeno na zacetku. Kakorkoli, to bi zmogel celo Excel, če bi se pravilno lotili problema, ne pa bruta-forza statistika.
Zgodovina sprememb…
- spremenilo: showsover ()
showsover ::
Se opravičujem, kosilo je bilo vmes, kava in to, torej povzetek (zadeva vzame, oh ne, nekaj sekund, s parsanjem, slovarjem in pripravo outputa), sfakeal sem osnovno matriko 35*45000 zapisov z enakomerno distribucijo 0-100 (osciliranje frekvenc okoli 15750), s skripto (niti ne v excelu), output frekvenc v tem smislu.
OP, poslji mi podatki, ti nazaj posljem prekalkulacijo, ne da se mi vsega skupaj razlagat, posiljat itn.
15858 15804 15783 15665 15903 15928 15907 15907 15652 15717 15498 15815 15622 15511 15498 15887 15772 15394 15394 15888 15894 15768 15661 15580 15630 15815 15712 15643 15758 15968 15643 15780 15815 15661 15702 15782 15521 15772 15968 15634 15854 15606 15749 15715 15834 15572 15709 15772 15762 15839 15614 15860 15709 15785 15760 15789 15772 15782 15887 15511 15511 15606 15394 15702 15888 16002 15716 15630 15695 15867 15772 15804 15875 15887 15903 15901 15901 15762 15509 15712 15572 15906 15906 15789 15928 15572 15780 15860 15770 15945 15557 15906 15652 15939 15772 15834 15719 15839 15882 15768 15903 15893 15907 16002 15815 15901 15649 15719 15800 15762 15638 15712 15903 15717 15906 15860 15630 15772 15800 15785 15498 15815 15939 15649 15906 15716 15789 15709 15717 15719 15875 15745 15606 15854 15585 15749 15882 15887 15836 15665 15786 15712 15717 15770 15778 15585 15725 15875 15775 15715 15770 15712 15882 15557 15652 15668 15712 15760 15782 15750 15623 15786 15834 15887 15887 15782 15875 15750 15907 15664 15766 15804 15778 15758 15854 15580 15606 15771 15772 15778 15772 15800 15815 15772 15580 15665 15768 15668 15709 15766 15768 15770 15975 15770 15585 15715 15394 15691 15945 15716 15765 15691 15664 15511 15939 15749 15702 16002 15702 15907 15634 15719 15557 15887 15643 15745 15893 15719 15793 16002 15975 15597 15775 15672 15765 15939 15789 15585 15668 15749 15778 15778 15893 15834 15709 15498 15858 15975 15834 15867 15766 15780 15772 15793 15854 ...
OP, poslji mi podatki, ti nazaj posljem prekalkulacijo, ne da se mi vsega skupaj razlagat, posiljat itn.
omni-vor ::
Imam malo močnejšo mašino :) pa zadeva ravno tako počepne.
Hvala za tvoj trud, test in nasvet :)
Občudujem ljudi v oddelkih podpori strankam, ki morajo take nebuloze prenašati dnevno.
Hvala za tvoj nasvet in komentar. Ampak tale del zgoraj pa bi lahko izpustil... Ljudje na oddelkih za podporo strankam lahko prenašajo take nebuloze zato, ker imajo empatijo, zmožnost razmišljanja o tem da nismo vsi enaki in nekateri ste boljši v enem, drugi pa v drugem.
Sploh pa tudi ti si nekje začel s pridobivanjem znanja in verjetno si se v lajfu neštetokrat zaplezal preden si našel rešitve. Tako da tole zgražanje ni primerno.
Sem pač zabluzil in pišem nebuloze na forumu kjer ljudje iščejo nasvete drugih ljudi. Shoot me.
Drgač pa še enkrat hvala za tisti drugi del tvojega posta.
Zgodovina sprememb…
- spremenil: omni-vor ()
omni-vor ::
precomputation se temu reče in ima globok smisel. 4 biljone operacij bo terjalo svoj čas, oziroma algoritem, kot ga ima, je O(n^2) (če se ne skriva notri še kakšna mina). Torej, če ne uporabi O(n logn) algoritma, je stvar časovno neuporabna in je potem vseeno, ali so podatki spremenjeni, podvojeni ali kaj tretjega.
Ne bom nadaljeval z delom v Excelu, ker vam verjamem, da ni primerno orodje za moj problem. Bom poiskal drugo rešitev, nekaj ste jih že sami napisali. Odnehal pa ne bom :)
EDIT: šele zdaj sem prebral komentar od gtfo... ti pošljem
Zgodovina sprememb…
- spremenil: omni-vor ()
showsover ::
Glej, da ne bo zdaj priletela kakšna jedrska bomba, izgleda že kot neki deli aktivacijske šifre.
Ali pa da ne bo kak Frankenstein ozivel s tem nukleotidi ali kaj so že.
Ali pa da ne bo kak Frankenstein ozivel s tem nukleotidi ali kaj so že.
HotBurek ::
Proces ste optimiziral in čas zmanjšali iz 24 ur na 1 sekundo?
root@debian:/# iptraf-ng
fatal: This program requires a screen size of at least 80 columns by 24 lines
Please resize your window
fatal: This program requires a screen size of at least 80 columns by 24 lines
Please resize your window
omni-vor ::
tako je...ne 24 ur, prej 48 ur.
Tako dober je gtfo
Tako dober je gtfo
Zgodovina sprememb…
- spremenil: omni-vor ()
HotBurek ::
Odlično. Čestitam za tak rezultat.
Zanimivo, kolikokrat lahko programer in logika pohitrijo proces, v primerjavi z več hardware-a; prvo je x1000, drugo pa bolj kot ne linearno z nabavo opreme.
Za razmislit kje in na kakšen način se "splača" optimizirat nek process, ki traja predolgo...
Zanimivo, kolikokrat lahko programer in logika pohitrijo proces, v primerjavi z več hardware-a; prvo je x1000, drugo pa bolj kot ne linearno z nabavo opreme.
Za razmislit kje in na kakšen način se "splača" optimizirat nek process, ki traja predolgo...
root@debian:/# iptraf-ng
fatal: This program requires a screen size of at least 80 columns by 24 lines
Please resize your window
fatal: This program requires a screen size of at least 80 columns by 24 lines
Please resize your window
showsover ::
Omni-vor, ok ampak me ni potrebno hvalit', sem zelo preprost človek in sem že veliko časa v tej panogi... Potrebno je primerno razložit problem nekomu, ki se mu da poslušati in ima veselje, da ga reši, ker je tole pač bilo hobi, a ne. Mimogrede, tudi Jožetu grejo nekatere zasluge s tistimi številom operacij O(n logn), kar je precej lepše formaliziral kot sem jaz. Verjamem, da se da še izboljšati performanse (ker gre za eno skripto, ne za izvršilen utility) ampak tole ni bistveno.
Zgodovina sprememb…
- spremenilo: showsover ()
Iluvatar ::
Če se ti da, bi prosil, če lahko na kratko opišeš problem in kako si rešil zadevo (jezik, orodje ipd...), da se še drugi kaj naučimo. Hvala.
showsover ::
Narejeno je v html za uporabnikov input in javascript za procesiranje, iz Excela vzames vrednosti (copy/paste), razrežeš tekstualni input v matriko, uporabiš slovar (vrednost, frekvenca), iteriraš vse vrednosti, ažuriraš števec, potem zgeneriraš (in skopiraš v Excel) matriko iste strukture kot vhodna, samo namesto da zapišeš vrednost, uporabiš frekvenco, ki jo prebere iz slovarja. Glavna stvar je - slovar s hitrim iskanjem, da se izogneš odvečnemu izvajanju formule. Vrstni red ni pomemben. Vsak sprufan programer pa ve ali bi moral vdeti, kaj pomeni O(n logn) :-)
Zgodovina sprememb…
- spremenilo: showsover ()
Iluvatar ::
Zimonem ::
Narejeno je v html za uporabnikov input in javascript za procesiranje, iz Excela vzames vrednosti (copy/paste), razrežeš tekstualni input v matriko, uporabiš slovar (vrednost, frekvenca), iteriraš vse vrednosti, ažuriraš števec, potem zgeneriraš (in skopiraš v Excel) matriko iste strukture kot vhodna, samo namesto da zapišeš vrednost, uporabiš frekvenco, ki jo prebere iz slovarja. Glavna stvar je - slovar s hitrim iskanjem, da se izogneš odvečnemu izvajanju formule. Vrstni red ni pomemben. Vsak sprufan programer pa ve ali bi moral vdeti, kaj pomeni O(n logn) :-)
Se pravi smo iskal funkcijo frequency v Excelu.
showsover ::
Menda pa res, zanimivo; op - preveri, če je to dovolj za tvoje potrebe.
V vprašanjih se je dobro izogniti namigom za neke rešitve, sploh, če niso dodelane.
Najbrž smo res prišli od najema virtualk preko skripte nazaj v Excel.
Skripto bom pač (posredno) dodal v svoj online repositorij besedilnih storitev.
V vprašanjih se je dobro izogniti namigom za neke rešitve, sploh, če niso dodelane.
Najbrž smo res prišli od najema virtualk preko skripte nazaj v Excel.
Skripto bom pač (posredno) dodal v svoj online repositorij besedilnih storitev.
showsover ::
Zimonem, sem šel preskušat - FREQUENCY je sicer podobno, vendar ne rezultira v enakovredni matrike:
Če pa ti uspe isto doseči s FREQUENCY, se pa dam podučiti.
Vhodni podatki Želen rezultat 0 1 0 6 1 6 3 2 0 2 3 6 3 2 2 2 3 3 0 0 0 6 6 6
Če pa ti uspe isto doseči s FREQUENCY, se pa dam podučiti.
Zgodovina sprememb…
- spremenilo: showsover ()
Zimonem ::
Sem sprobal samo na phone Excelu. Frekvence držio, potem sledi samo replace na podane vrednosti če jih hočeš v danem formatu(matriki).
showsover ::
Ja, izračun frekvenc drži, ampak rešitve out-of-the-box ni videti za potrebe op...
In search in replace za (opjevih 35x45500) 1,6M zapisov in to vertikalno v enem stolpcu... Vprašanje...
Najbrž si samo domišljam ampak skripta se mi zdi vseeno lažji pristop, ker vse sama uredi (predvsem ta search/replace),
je pa copy/paste vse matrike iz in nazaj v excel ostane uporabniku v kratek čas.
Sicer se tudi skripto se pretvori v vba/excel v FREQUENCYTOMATRIX(), re, če se izkaže potreba.
In motivacija 🤑🤑🤑🤑🤑 :)
In search in replace za (opjevih 35x45500) 1,6M zapisov in to vertikalno v enem stolpcu... Vprašanje...
Najbrž si samo domišljam ampak skripta se mi zdi vseeno lažji pristop, ker vse sama uredi (predvsem ta search/replace),
je pa copy/paste vse matrike iz in nazaj v excel ostane uporabniku v kratek čas.
Sicer se tudi skripto se pretvori v vba/excel v FREQUENCYTOMATRIX(), re, če se izkaže potreba.
In motivacija 🤑🤑🤑🤑🤑 :)
Zgodovina sprememb…
- spremenilo: showsover ()
Zimonem ::
Lohk da je skripta hitrejša. Preden nisi opisal rešitve mi sploh ni bilo čisto jasno, kaj hoče. Vse skupaj je zvenelo skrivnostno kot da analizira radijske valove od alienov.
Replace pa itak jemlje samo prve unique elemente. Meni je tole bolj zanimivo kot vaja v slogu. A vseeno ne je malo zaskrbelo da to Excel nebi rebavil če ne gre za križ kraž skliče. Saj je mestoma butast ampak večkrat smo uporabniki v spregi.
Replace pa itak jemlje samo prve unique elemente. Meni je tole bolj zanimivo kot vaja v slogu. A vseeno ne je malo zaskrbelo da to Excel nebi rebavil če ne gre za križ kraž skliče. Saj je mestoma butast ampak večkrat smo uporabniki v spregi.
Zgodovina sprememb…
- spremenilo: Zimonem ()
DeeCoy ::
Mogoče bi uporabil kakšen Octave, bolj primeren za obdelovanje velikih količin podatkov, sploh v matrikah itd. - nisem bral cele teme, samo ideja. Je pa res, da je potrebno vsaj neko čisto osnovno znanje programiranja.
omni-vor ::
Se pravi smo iskal funkcijo frequency v Excelu.
Frequency sem tudi že sprobal čisto na začetku in ni bilo ok, se pa ne spomnim več zakaj ne, ker sem že toliko stvari preizkusil :) Bom ob šansi preveril kaj je bil že razlog, da sem opustil freq.
edit: med tednom malo težje spremljam forum, zato zamuda pri odgovoru.
Zgodovina sprememb…
- spremenil: omni-vor ()
pegasus ::
Mogoče bi uporabil kakšen Octave, bolj primeren za obdelovanje velikih količin podatkov, sploh v matrikah itd. - nisem bral cele teme, samo ideja. Je pa res, da je potrebno vsaj neko čisto osnovno znanje programiranja.Octave je najpočasnejša možna izbira, še R je hitrejši. Če že kaj, potem Julia.
showsover ::
No, za zaključek, nova uporabniška Excel funkcija "=FREQUENCYMATRIX(SourceRange,TargetRange)" vrača (izgleda) povsem enak rezultat direktno v excel tabeli, vendar je malo počasneje, potrebuje slabe 4 sekunde
> UniquesCount: 1591590 values of 4556 unique in 734 ms
> FrequencyMatrix, 4556 uniques: 1591590 values in 3563 ms
Ok, to je to na to temo, kar se tiče mene, mi je bila všeč ideja z virtualkami :)
> UniquesCount: 1591590 values of 4556 unique in 734 ms
> FrequencyMatrix, 4556 uniques: 1591590 values in 3563 ms
Ok, to je to na to temo, kar se tiče mene, mi je bila všeč ideja z virtualkami :)
Zimonem ::
No, za zaključek, nova uporabniška Excel funkcija "=FREQUENCYMATRIX(SourceRange,TargetRange)" vrača (izgleda) povsem enak rezultat direktno v excel tabeli, vendar je malo počasneje, potrebuje slabe 4 sekunde
> UniquesCount: 1591590 values of 4556 unique in 734 ms
> FrequencyMatrix, 4556 uniques: 1591590 values in 3563 ms
Ok, to je to na to temo, kar se tiče mene, mi je bila všeč ideja z virtualkami :)
Rajtam, da je še zmer hitrej kot najem virtualke.
omni-vor ::
No, za zaključek, nova uporabniška Excel funkcija "=FREQUENCYMATRIX(SourceRange,TargetRange)" vrača (izgleda) povsem enak rezultat direktno v excel tabeli, vendar je malo počasneje, potrebuje slabe 4 sekunde
> UniquesCount: 1591590 values of 4556 unique in 734 ms
> FrequencyMatrix, 4556 uniques: 1591590 values in 3563 ms
Ok, to je to na to temo, kar se tiče mene, mi je bila všeč ideja z virtualkami :)
OK eat me alive, ker sem dal idejo z virtualkami :P Je pač obstajala neprimerno boljša rešitev za katero nisem vedel.
FREQUENCYMATRIX sicer ne znam pognat v Excelu, hitro googlanje najde samo v povezavi s pythonom...sem pa probal Frequency v Excelu in mi nekaj ne gre-verjetno isti problem kot takrat, s katerim sem se srečal ko sem prvič poskušal...neznanje.
Bom že zguglal rešitev do konca. Zdaj vsaj vem kje jo iskat glede na to, da je gtfo potrdil, da deluje za moj primer.
showsover ::
FrequencyMatrix() je nova uporabniško definirana funkcija kot razširitev za Excel, zaenkrat je samo prototip, ni še del excela, bo pa verjetno kak addin. Zadeva pa deluje, je pa vba precej počasen. I shit you not, tiste meritve so na osnovi poslanih podatkov, 1.6M. Če e se bo zadeva tudi prijela, boš svetovalec za virtualske kalkulacije :)
Zimonem ::
showsover ::
Joj no, omni-vor, addin zaenkrat ni uraden iz M$ Office marketplace, če pa bo, pa super.
Zimonem, ja, načeloma drži, je pa potrebno poznati delovanje funkcij malo boljše ampak res ni ničesar, kar ni možno izguglati, hehe.
Navsezadnje gre za branje, obdelavo in zapis 1,6M vrednosti v slabih 4 sekundah, v eni sami funkciji, se pravi nekje 0,4M na sekundo.
Domnevam, da je to sprejemljiva hitrost, če pa ni, pa tough luck.
Zimonem, ja, načeloma drži, je pa potrebno poznati delovanje funkcij malo boljše ampak res ni ničesar, kar ni možno izguglati, hehe.
Navsezadnje gre za branje, obdelavo in zapis 1,6M vrednosti v slabih 4 sekundah, v eni sami funkciji, se pravi nekje 0,4M na sekundo.
Domnevam, da je to sprejemljiva hitrost, če pa ni, pa tough luck.
Zgodovina sprememb…
- spremenilo: showsover ()
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | pomoč excel (strani: 1 2 )Oddelek: Programska oprema | 7929 (3506) | -JM- |
» | Excel, kako izračunatiOddelek: Programiranje | 2307 (2046) | Dionis |
» | Excel iskanje podvojenih vnosovOddelek: Pomoč in nasveti | 6512 (5138) | smetko |
» | excelOddelek: Programska oprema | 4761 (3370) | xtrat |
» | excell razvrščanjeOddelek: Programska oprema | 4102 (3746) | rferrari |