Starlight
Toru
 
Registreerunud: 16.7.2009
Asukoht: Saku/Tallinn
Kasutaja on eemal
Tuju: neegrimeeleolu
|
|
|
Tere,
Tekkis selline huvitav asi, et kui mul on hunnik erinevaid arve, näiteks mingite toodete hinnad(ütleme, et umbes 300 tükki).
Kuidas oleks võimalik leida exelis just need tooted, mille hinnad moodustavad nt. kogusummaks 18124,42.
Rõhutan veelkord, et see arv ei tohi kindlasti sisaldada kõiki tooteid ehk kogu summa moodustavad mingite kindlate toodete hinnad.
Üritasin igatpidi guugeldeda, ei suutnud kohe mitte midagi sellist leida, samas see peab kuidagi võimalik olema.
Niiet Office proffesionaalid, hüpake nüüd abiks välja!
|
|
0 |
|
DonQ
Administraator
      
Registreerunud: 16.7.2009
Asukoht: Saturn
Kasutaja on eemal
Tuju: Kerge puhkus
|
|
Sellisel kujul pole see kindlasti võimalik. Isegi teoreetiliselt on tegu vastikut tüüpi ülesandega, kus põhimõtteliselt peab hakkama kõiki kombinatsioone läbi proovima - VBAs saaks selle muidugi kirjutada, aga kui kaua ta töötab, on raske öelda.
Aga võib-olla Sa eksisid kuidagi ülesande kirjeldamisega?  Mis eesmärk on - leida arve summa järgi müüdud kaupade kogum või?
|
|
0 |
|
margus
Veterantoru
   
Registreerunud: 14.7.2009
Asukoht: Turn left at Orion
Kasutaja on eemal
Tuju: aeron meiden
|
|
Ma pole kunagi Exceliga kokku puutunud, aga kas seal mingi random funktsioon on olemas? Sellega annaks vast midagi aretada...
|
|
0 |
|
Starlight
Toru
 
Registreerunud: 16.7.2009
Asukoht: Saku/Tallinn
Kasutaja on eemal
Tuju: neegrimeeleolu
|
|
|
DonQ, kohe kindlasti ei eksinud. Kusjuures, ma päris ei teagi mis sellega vaja teha on, aga isa tahtis mul sellist asja. Mingi savi on laoga ja siis nüüd teada kogusumma ja iga kauba hind ja nendest peaks valikulised kaubad kokku andma siis tolle kogusumma. Oiii ma suudan keeruliselt seletada.
No anyway. Mul on teada kaubad, ning nendest kaupadest hindadest on vaja aretada kokku üks arv. Kõige parem on see, et nii kogusumma, kaal ja ühe kauba hind peavad klappima.
Kakoi Random funktsioon, mulle küll midagi sellist silma ei jää? Või on äkki mõnes muus programmis see võimalik, OOo? vms?
Ise läbi katsetades võtaks asi ilmselt aastaid aega, kui just Bingo Lotot ei mängi sellega :D VBA'd ise kasutada ei oska, niiet loodaks jälle mõne targema poolset abi.
|
|
0 |
|
Timukas
Moderaator
    
Registreerunud: 16.7.2009
Asukoht: Rapla
Kasutaja on eemal
|
|
Sai siis midagi aretatud. Varem pole VBAga tegelenud, seega võib esineda põhimõttelisi vigu ja muid ebakorrektsusi, kuid kõik tundus töötavat. Hetkel on arvestatud nii, et toote nimetused on veerus A ja hinnad veerus B ning kokku 12 rida. Kui tahad midagi muud panna, siis muuda sellist rida:
| Kood: | | Hinnad = Range("A1:B12").Value |
Ja kui näites on valesid vastuseid, siis asi on selles, et enne tegutseb makro, annab õige vastuse ja siis alles random funktsioon ning muudab arvud ära. Konstantsete hindadega seda probleemi ei ole 
Lisa fail: toru.xls (28kB)
Seda faili on alla laaditud 373 korda
|
|
0 |
|
Starlight
Toru
 
Registreerunud: 16.7.2009
Asukoht: Saku/Tallinn
Kasutaja on eemal
Tuju: neegrimeeleolu
|
|
|
Tänud, see variant töötas ning väiksemad arusaamatused said u2u kaudu kristallveestatud.
|
|
0 |
|
Timukas
Moderaator
    
Registreerunud: 16.7.2009
Asukoht: Rapla
Kasutaja on eemal
|
|
Teemaalgatajal tekkis probleem suuremate kogustega. Sai siis enamik ümber kirjutatud. Probleem säilis, kuni avastasin, et üks Integer tuleb asendada Long'iga 
Nüüd töötab teoorias 15 ja rohkema üksiku arvuga, mille summa tuleb leida. Samas õnnestus ühe katsetuse käigus arvuti kokku jooksutada (ja osa koodiga sellega kaotada). Või ütleb lihtsalt, et out of memory (panen selle oma Pentium III läpaka süüks, millel 256mb RAMi).
Alt+F11 saab koodi muuta (näiteks lahtrite asukohta).
Lisa fail: toru2.xls (28kB)
Seda faili on alla laaditud 358 korda
|
|
0 |
|