praegune kellaaeg 16.06.2024 01:31:44
|
Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
|
autor |
sõnum |
|
lightbluefox
HV Guru
liitunud: 30.12.2004
|
06.10.2018 17:09:19
Exceli optimeerimine (suletud) |
|
|
Oleks tore, kui keegi oskaks soovitada kuidas excelit kiirendada, mõni hea nipp nt.
Põhimõtteliselt on mul sirka 10 veergu infot erineva tekstiga, ja siis seal kõrval teine 10 veergu, mis tegelevad eelnevatest veergudest märksõnade väljavõtmisega.
A la ühes veerus on tekst "10 kotti kartuleid", siis seal on üks veerg, mis sellest veergust võtab sealt väärtuse "kartul" välja, lisaks ka kontrollid teise töölehega.
infot korjab välja "mid" ja left" peamiselt. teiste lehtede pealt otsib välja infot INDEX MATCH.
Palju on infot? Sirka 100 000 rida ja tuleb kogu aeg juurde. See tähendab, et kui ma muudan excelis ühte numbrit, siis excel arvutab seda muudatust ka 50 sekundit, core i5 pro 4 tuuma täiega töös.
Mul on mõtteid kuidas seda parandada, aga kuna excelist väga palju ei tea, siis tahaks neid mõtteid kellegi vastu põrgatada.
1. Exelis kasutusel olevad index match kasutab lookupi jaoks terveid veerge "Tabel1!K:S". Ma arvan, et kui see vahemik oleks dünaamiline (ehk kasvaks vastavalt lisatud ridade arvule), oleks arvestus kiirem ja excel ei peaks proovima iga rea pealt midagi otsida.
2. Kasutada "insert table" süsteemi, ehk konverteerida olemasolev info excelis tabeliks, nii saab sellele andmehulgale ka nime anda nt "Table1", siis saaks ka valemeid luues anda neile väärtused tabeliveergude alusel mis ehk lihtsustab ka valemitest arusaamist. Ma ei oska ainult tabeli põhjal uusi index match valemeid teha Ja on ka küsimus kas sellest oleks kiirusevõitu.
3. Olen kuulnud, et tabeli sorteerimine mingis kahanevas-kasvavas järjekorras kiirendab arvutamise protsessi? Kuna ma nagunii filtreerin seda pidevalt, siis ehk oleks see mõeldav, kui keegi oskaks oma praktika järgi seda kommenteerida.
Veel mõni hea nipp kuidas suurt andmehulka excelis paremini hallata?
viimati muutis lightbluefox 25.11.2018 17:29:05, muudetud 1 kord |
|
tagasi üles |
|
|
napoleon
Unknown virus
liitunud: 08.12.2008
|
|
tagasi üles |
|
|
lightbluefox
HV Guru
liitunud: 30.12.2004
|
06.10.2018 18:46:14
|
|
|
napoleon, ilmselgelt on automaatne arvutamine mahakeeratud, sest on kohati vaja muuta mitmeid väärtuseid korraga ja ei oleks mõeldav, et iga kord 50s oodata.
Andmebaasi ei kannata tõsta, kuna algandmeid on vaja muuta, ehk mul ei ole vaja neid olemasolevaid andmeid vaid pivotiteks teha vaid ka täiendada ja see võiks olla ka teistele kasutajatele arusaadav, ehk mitte ühe patsiga poisi tabel, vaid hästitöötavate valemitega exceli tabel mis on nii kiire oma arvutustes kui mõistlikult saavutatav.
|
|
tagasi üles |
|
|
tahanteada
Lõuapoolik
liitunud: 04.04.2003
|
06.10.2018 19:06:31
|
|
|
lightbluefox kirjutas: |
napoleon, ilmselgelt on automaatne arvutamine mahakeeratud, sest on kohati vaja muuta mitmeid väärtuseid korraga ja ei oleks mõeldav, et iga kord 50s oodata.
Andmebaasi ei kannata tõsta, kuna algandmeid on vaja muuta, ehk mul ei ole vaja neid olemasolevaid andmeid vaid pivotiteks teha vaid ka täiendada ja see võiks olla ka teistele kasutajatele arusaadav, ehk mitte ühe patsiga poisi tabel, vaid hästitöötavate valemitega exceli tabel mis on nii kiire oma arvutustes kui mõistlikult saavutatav. |
Aga kas arvuti ise on üleüldse piisavalt võimas ning kiire, et selliseid suuremaid andmemassiive arvutada?
Seda saad ka nii võrrelda, et kui installeerid kõrvale sellise värgi nagu:
WPS Office ning kasutad seal tabelarvutust.
PS: WPS on ametlik MS Office "kloon-koopia" ning tema default seadistused on samad mis MS Officelgi.
Endal on see kasutusel paralleelselt LibreOfficega ning arvutab minu suuri andmemassiive ikka neetult kiiresti.
https://www.wps.com/
|
|
tagasi üles |
|
|
napoleon
Unknown virus
liitunud: 08.12.2008
|
06.10.2018 19:15:19
|
|
|
Aga proovi MS Accessi lükata andmed. Seal saad suht drag&drop meetodil vormid sisestamiseks tekitada ja teha view, mille abil pärast kuvad neid nii nagu vaja.
Võimalik et kannatab seda excelit ka tuunida, aga olemasoleva info põhjal ei oska öelda, selleks peaks ikka korra otsa vaatama mis seal hetkel tehtud on ja kas mõnda valemit kannatab kuidagi mõistlikumalt kirjutada. Teisel lingil mis andsin on ju kirjeldatud, kuidas sorteerimise abil asja kiiremaks saad. ~100 000 rea korral vast mingit mõistlikumat lahendust polegi. Kui sul on näiteks tabelis A 1000 rida ja tabelis B 100 000 rida ja nüüd peab iga tabeli A rea kohta midagi tabelist B otsimas käima, siis kokku tehakse 100 000 000 võrdlust kui sorteerimist/indekseerimist pole kasutatud. Selline päring lihtsalt on aegalne ja seda isegi mõistlikumate baaside kui excel puhul.
|
|
tagasi üles |
|
|
Mnator
HV Guru
liitunud: 18.10.2007
|
07.10.2018 12:53:31
|
|
|
lightbluefox kirjutas: |
napoleon, ilmselgelt on automaatne arvutamine mahakeeratud, sest on kohati vaja muuta mitmeid väärtuseid korraga ja ei oleks mõeldav, et iga kord 50s oodata.
Andmebaasi ei kannata tõsta, kuna algandmeid on vaja muuta, ehk mul ei ole vaja neid olemasolevaid andmeid vaid pivotiteks teha vaid ka täiendada ja see võiks olla ka teistele kasutajatele arusaadav, ehk mitte ühe patsiga poisi tabel, vaid hästitöötavate valemitega exceli tabel mis on nii kiire oma arvutustes kui mõistlikult saavutatav. |
kas veel vildakamalt ei oska mõelda?
andmebaasi rakendustes ongi juba olemaolevate andmete vajadusel muutmine täiesti normallne tegevus, lisaks on uute andmete sisetus....
ja ka otsimiskriteeriumite muutmine on igati normallne
raskem on arvutusvalemite muutmine, ehki mitte võimatu
|
|
tagasi üles |
|
|
lightbluefox
HV Guru
liitunud: 30.12.2004
|
07.10.2018 14:35:11
|
|
|
Ehk tõesti, aga ma ei usu et ehk max 200 000 rea pärast oleks vaja access appi võtta, Excel peaks suutma miljonit rida töölehe kohta händlida ja kui valemeid mõistlikult teha, siis ka täiesti kasutatavalt. Praegugi on ju täiesti kasutatav, aga olen kindel, et saab lihtsalt märkimisväärselt paremini, kuna mingile efektiivsusele arvutamistes rõhku pandud pole.
|
|
tagasi üles |
|
|
napoleon
Unknown virus
liitunud: 08.12.2008
|
07.10.2018 16:58:51
|
|
|
lightbluefox, kui seal excelis mingit suurt äri- või muud saladust pole, siis ehk viskad kuhugi üles selle tabeli. Su esimeses postis olev jutt on selleks liiga üldine, et keegi midagi konkreetset oskaks arvata.
Aga nagu aru saan, otsitakse sul ühes tabelis vasteid teisest tabelist. Selline loogika pole päris tavaline valem, mis lihtsalt midagi arvutab vms. Kui sul on kaks 200 000 reaga tabelit ja ühes tabelis tehakse lookup teise tabelisse, siis kõhus peab excel käima läbi 200 000 x 200 000 rida ehk jutt pole enam mitte miljonist vaid 40 miljardist võrdlusest. No ok, tegelikult võime ka öelda keskmiselt 20 miljardit kuna otsid teisest tabelist ühte vastavat väärtust mitte kõiki, aga see on ikkagi juba päris palju. Kindlasti saab midagi teha, kui muu ei aita siis kasvõi mõne makro kirjutada, iseasi kas see vaev ennast õigustab. Võimalik et lükata andmed baasi ja teha näiteks lihtne veebiliides nende haldamiseks või lahendada asi accessi abil võtaks vähem aega kui see exceliga pusimine.
|
|
tagasi üles |
|
|
lightbluefox
HV Guru
liitunud: 30.12.2004
|
10.10.2018 17:39:39
|
|
|
Kõpitsesin midagi valmis
https://www7.zippyshare.com/v/oYnSugEe/file.html
Spoiler
Parool: parool
Üldiselt vist peaks olema loogika hoomatav
Outgoing lehel on kollastes väljades raw data, mida valgetes ruutudes olevad lahtrid pulkadeks võtavad, et töödelda saaks ja vajadusel muuta, nii et algandmeid muuta pole vaja. Nt kuskil valem ära kustutada ja lisada uus.
- igdata, sdr, ugo on tulemuste näitamiseks (pivotid), codemapping ja pcmapping vastutavad loogika eest.
- ntrul check siis kontrollib, kas tabelis olev info klapib.
Failis on ridu vähe (arvuti võimsust testida ei saa), aga eks vajadusel saab neid ju ise juurde copy-peistida, aga siiski peaks excelit tundev inimene aru saama, kas midagi tundub, et saaks paremini kirjutada.
Tänud.
EDIT: Selgub, et oleks võinud alustada kohe algusest, et testida ilma valemiteta
Sain teada, et aeglus tuleb vaid ühest lehest sumif valemitest ehk see check leht on probleemiks.
|
|
tagasi üles |
|
|
|
lisa lemmikuks |
|
|
sa ei või postitada uusi teemasid siia foorumisse sa ei või vastata selle foorumi teemadele sa ei või muuta oma postitusi selles foorumis sa ei või kustutada oma postitusi selles foorumis sa ei või vastata küsitlustele selles foorumis sa ei saa lisada manuseid selles foorumis sa ei või manuseid alla laadida selles foorumis
|
|
Hinnavaatlus ei vastuta foorumis tehtud postituste eest.
|