Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Raspoređivanje slučajnih vrednosti po kolonama

[es] :: Office :: Excel :: Raspoređivanje slučajnih vrednosti po kolonama

[ Pregleda: 2237 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Jpeca
Predrag Jovanović
poslovni analitičar
Gowi
Pančevo

Moderator
Član broj: 25683
Poruke: 2267
212.200.121.*

Sajt: www.gowi.rs


+109 Profil

icon Raspoređivanje slučajnih vrednosti po kolonama24.08.2015. u 14:26 - pre 104 meseci
Pozdrav svima.
Zamolio bih nekog, ako može da pomogne ovo ove problematike.
Da li je moguće napraviti neku formulu ili neki VBA kod kako bi u excel-u popunio tabelu kao što je prikazano na slikama.
U prvoj koloni su RND brojevi i potrebno je da se ti brojevi prepisuju u sledeće koline po datumu, ali da se ne prelazi zadato ograničenje u ćeliji G2 po danu.
Znači kada dođe do broja 310 u ćeliji A4 treba da mi preseče taj broj za onoliko kolikoje potrebno za taj dan do 400, a ostatak da pređe u sledeći dan.

Dakle treba da dobije podatke kao na slici 2.

Hvala unapred i puno bi mi značila Vaša pomoć.

slika 1




slika 2



-----
Premeštena poruka korisnika sergiles
Nije to loše Rembrante, samo što ne bi dodao još malo boje?
 
Odgovor na temu

dusans
Stojanov Dušan
Pančevo

Član broj: 9551
Poruke: 1343
*.dynamic.sbb.rs.



+311 Profil

icon Re: Raspoređivanje slučajnih vrednosti po kolonama24.08.2015. u 15:54 - pre 104 meseci
Formula (funkcija) za ovo bi bila cenim bezpotrebno komplikovana.
Evo neki pseudo kod za VBA, ako ti znači:
Code:

Limit = 400
Run = 0
Col = 2
For Row = 2 .. 9
    Rnd = Cell[1, Row]
    Run = Run  + Rnd
    If (Run <= Limit)
        ' Normal case
        Cell[Col, Row] = Rnd
        if (Run = Limit) Col = Col + 1
    Else
        ' Split and carry
       Cell[Col, Row] = Limit - Run + Rnd
       Run = Run MOD Limit
       Col = Col + 1
       Cell[Col, Row] = Run
    End If
Next Row

Jedino neće raditi potpuno tačno ako je neki od randoma veći od 400.


[Ovu poruku je menjao dusans dana 24.08.2015. u 17:14 GMT+1]
 
Odgovor na temu

rudy_kv
Dejan Rudnjanin
Nastavnik grupe geodetskih predmeta
MTŠ "14. oktobar"
Kraljevo

Član broj: 245118
Poruke: 93
*.dynamic.sbb.rs.



+5 Profil

icon Re: Raspoređivanje slučajnih vrednosti po kolonama24.08.2015. u 18:35 - pre 104 meseci
Nije bas elegantno resenje, ali mislim da radi... Proveri pa vidi da li ti vrsi posao.
P.S. Ovi brojevi u A koloni bi trebali biti manji od 400 tj. od vrednosti celije G2 da bi ovo funkcionisalo.
VICTORIA CONCORDIA CRESCIT
Prikačeni fajlovi
 
Odgovor na temu

sergiles
student

Član broj: 235130
Poruke: 24
37.19.105.*



Profil

icon Re: Raspoređivanje slučajnih vrednosti po kolonama25.08.2015. u 11:12 - pre 104 meseci
Citat:
dusans:
Formula (funkcija) za ovo bi bila cenim bezpotrebno komplikovana.
Evo neki pseudo kod za VBA, ako ti znači:
Code:

Limit = 400
Run = 0
Col = 2
For Row = 2 .. 9
    Rnd = Cell[1, Row]
    Run = Run  + Rnd
    If (Run <= Limit)
        ' Normal case
        Cell[Col, Row] = Rnd
        if (Run = Limit) Col = Col + 1
    Else
        ' Split and carry
       Cell[Col, Row] = Limit - Run + Rnd
       Run = Run MOD Limit
       Col = Col + 1
       Cell[Col, Row] = Run
    End If
Next Row

Jedino neće raditi potpuno tačno ako je neki od randoma veći od 400.


[Ovu poruku je menjao dusans dana 24.08.2015. u 17:14 GMT+1]


Iskren da budem, nisam poznavalac vba koda. Probao sam ovo ali izbacuje mnogo gresaka u samom ispisu koda, tj sintaksa nije ispravna.
Pokusao sam nesto da ispravim, cackao po nekim knjigama i netu...ali nece ni to da radi.


Sub kod()

Dim Row As Integer

Dim Rnd As Integer

Dim Run As Integer

Dim Col As Integer

Dim Limit As Integer

Dim Cells As Integer

Limit = Range("I2")

Run = 0

Col = 2

For Row = 2 To 10000

Rnd = Cells(1, Row)

Run = Run + Rnd

If Run <= Limit Then

' Normal case

Rnd = Cells(Col, Row)

If (Run = Limit) Then Col = Col + 1

Else

' Split and carry

Cells(Col, Row) = Limit - Run + Rnd

Run = Run Mod Limit

Col = Col + 1

Cells(Col, Row) = Run

End If

Next Row

End Sub


Posle sam pokusao ovo...

Sub step()

If Range("A2") < Range("G2") Then

Range("B2") = Range("A2")

ElseIf Range("B10") > Range("G2") Then

i = Range("B10") - Range("G2")

Range("B1") = Range("A1") - i



End If

If Range("B10") < Range("G2") Then

Range("B3") = Range("A3")

ElseIf Range("B10") > Range("G2") Then

i = Range("B10") - Range("G2")

Range("B2") = Range("A2") - i



End If

If Range("B10") < Range("G2") Then

Range("B4") = Range("A4")

ElseIf Range("B10") > Range("G2") Then

i = Range("B10") - Range("G2")

Range("B3") = Range("A3") - i

End If

If Range("B10") < Range("G2") Then

Range("B5") = Range("A5")

ElseIf Range("B10") > Range("G2") Then

i = Range("B10") - Range("G2")

Range("B4") = Range("A4") - i

End If



End Sub


ali stalno sebe teram da zadajem neke uslove i kontam da bi to islo do beakonavnosti.
Svakako tabela bi imala puno redova, a ovo sto sam napisao ne bi zavrsio za mesec dana.
 
Odgovor na temu

dusans
Stojanov Dušan
Pančevo

Član broj: 9551
Poruke: 1343
*.dynamic.sbb.rs.



+311 Profil

icon Re: Raspoređivanje slučajnih vrednosti po kolonama25.08.2015. u 11:28 - pre 104 meseci
Trebao sam da budem jasniji, napisao sam da je u pitanju "pseudo" kod,
mada dosta liči na VBA kod pa te zbunilo.
Dakle, kod koji ilustruje šta trebaš da uradiš - uslovi, petlje, dodele, itd...

https://sr.wikipedia.org/wiki/...%D0%B4%D0%BE%D0%BA%D0%BE%D0%B4
https://en.wikipedia.org/wiki/Pseudocode#Syntax

I normalno je da takav kod ne možeš kompajliraš u VBA pošto njegova
svrha nije da bude napisan u konkretnom jeziku/sintaksno ispravan.
Dakle, moraš da ga prevedeš u VBA ekvivalent da bi radio.

Razlog, zašto ga nisam odmah napisao u VBA je to što
sam VBA koristio pre jedno 10-15 godina i to vrlo malo i nemam
vremena i nameru da se bakćem i prisećam sintakse i
Excel DOM-a sada.

Tvoj alternativni pokušaj u VBA sa onim silnim uslovima ne vodi nikuda kao što si sam uvideo.
 
Odgovor na temu

sergiles
student

Član broj: 235130
Poruke: 24
*.dynamic.sbb.rs.



Profil

icon Re: Raspoređivanje slučajnih vrednosti po kolonama25.08.2015. u 21:10 - pre 104 meseci
Iz prilozenog se vidi da ne znam VBA kod, pa zato i nisam najbolje razumeo tvoj post.
Pokusacu na osnovu tvog pseudo koda i uz pomoc literature da napravim nesto...mada dosta ucenja i vezbe treba da bi nesto napravio.
Mozda neko drugi predlozi neko resenje koje ce pomoci.
 
Odgovor na temu

djoka_l
Beograd

Član broj: 56075
Poruke: 3445

Jabber: djoka_l


+1462 Profil

icon Re: Raspoređivanje slučajnih vrednosti po kolonama25.08.2015. u 21:48 - pre 104 meseci
Ala ste zakomplikovali.

Evo rešenje bez makro i sa samo dve funkcije: MIN i SUM

Obratiti pažnju da postoje četiri drugačije formule,
1. gornji levi ugao
2. prvi red (osim gornjeg levog ugla)
3. prva kolona (osim gornjeg levog ugla)
4. sva ostala polja (osim prvog reda i prve kolone)

Ovo je bitno zbog kopiranja formule...
Prikačeni fajlovi
 
Odgovor na temu

sergiles
student

Član broj: 235130
Poruke: 24
*.dynamic.sbb.rs.



Profil

icon Re: Raspoređivanje slučajnih vrednosti po kolonama06.09.2015. u 11:41 - pre 104 meseci
Zahvaljujem na odgovoru...lepo radi ovo sa MIN formulom.
Ja se sve nesto trudim preko VB, a postoje jako jednostavne formule za izvrsenje zadatka.

Pozdrav.
 
Odgovor na temu

[es] :: Office :: Excel :: Raspoređivanje slučajnih vrednosti po kolonama

[ Pregleda: 2237 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.