Stránka 1 z 2

Vzorec excel

Napsal: 19 kvě 2009 14:25
od Wuk
Zdravím, dokáže někdo poradit:
potřeboval bych v excelu např. číslo 450 rozdělit podle čísla které zadám na více řádků.
příklad: mám 760 kusů a chtěl bych z toho udělat
200
200
200
160
Je-li to vůbec možné nějakým vzorcem.
Děkuji

Re: Vzorec excel

Napsal: 19 kvě 2009 17:32
od navstevnik
Jsou dana nejaka pravidla pro rozdeleni na scitance - pocet, minimalni hodnota,...?
Jedna se pouze o kontrolu "rucniho" rozdelovani - vkladat hodnoty scitancu a kontrolovat zbytek?
Neco jineho?
Bez upresneni nelze na tebou formulovany dotaz poskytnout smysluplnou odpoved.

Re: Vzorec excel

Napsal: 19 kvě 2009 20:34
od Wuk
Chtel jsem si vypomoc v praci, dostanu zadane pocty kusu zasilek pro nekoho napr 560 kusu a vim ze dohromady vazi napr. 20kg tak je potrebuju rozdelit na vice baliku treba na 3 a musim rucne provest ze to bude 200,200,160. Nevim vubec jestli je to nejak mozne vhzledem tomu ze tyto cisla potrebuju dostat pak tim padem na 3 radky.

Re: Vzorec excel

Napsal: 19 kvě 2009 22:27
od navstevnik
V priloze je mozne reseni, tak jak jsem tomu porozumel z doplnujiciho vysvetleni, s vyuziti procedur VBA.

Re: Vzorec excel

Napsal: 20 kvě 2009 07:53
od Wuk
Děkuji moc, je to dobrý akorát jestli mužu poprosit jde mě o to aby čísla byla na stovky popřípadě padesátky.
Jak jsem psal příklad 560 = 200,200,160. Neumím to přesně vysvětlit, je možné poslat soubor o co se přesně jedná? Děkuji

Re: Vzorec excel

Napsal: 20 kvě 2009 08:07
od navstevnik
Je hmotnost jednoho baliku limitovana? Pokud ne, potom byl doplnujici udaj o celkove hmotnosti nadbytecny a rozdeleni do baliku melo byt jen podle poctu (50, 100, 200,...)? Na takove deleni staci "selsky rozum" a neni potreba pouzit Excel.

Re: Vzorec excel

Napsal: 20 kvě 2009 10:46
od Wuk
Ano, vím že to jednoduché, ale pokud mám 150 řádků a každý se musí takto rozdělit už to jednoduché myslím časově není. Myslel jsme že by to šlo udělat podle nějakého vzorcu. Samozřejmě pokud je to hodně složité tak se nemá cenu s tím zabývat. Ale děkuji za radu.
Ještě uvedu příklad co jsem konkretně myslel a potřebuju z jednoho řádku dostat:
jde o to že někdy bych to dělil 100 nebo 200 záleží podle váhy

abc má 560 kusů = jeden řádek

tři řádky
abc 200 kusů
abc 200 kusů
abc 160 zbytek

Re: Vzorec excel

Napsal: 20 kvě 2009 15:15
od navstevnik
jde o to že někdy bych to dělil 100 nebo 200 záleží podle váhy


Vaha jednoho kusu nebo maximalni vaha baliku bude urcovat dilci pocet? To je to, co se snazim zjistit.

Dale - protoze se jedna o tabulku a co radek to potreba rozdeleni, tak vysledek musi jit do sloupcu, nikoliv radku.

Re: Vzorec excel

Napsal: 21 kvě 2009 07:21
od Wuk
No asi nejdulezitejsi je pocet kusu v baliku, jestli je 50,100,200,300.. a pak samozrejme vaha tzn. jestli ma kus napr. 0,050g muzu celkovy pocet 560 rozdelit po 200(10kg) a zbytek,kdyz bude mit 0,025 mohl bych jenom 400 a zbytek. To znamena ze bud se nachysta jenom treba 2x baliky(200) + zbytek nebo 1x(200+200 dohromady) + zbytek.

Re: Vzorec excel

Napsal: 21 kvě 2009 11:10
od navstevnik
Pro jednoduche pouziti je resenim vlastni funkce. Protoze vsak funkce vraci hodnotu pouze do bunky, ze ktere je volana, nelze rozpis hmotnosti ulozit do vice radku nebo sloupcu, ale pouze do volajici bunky.
Z upresneni vyplyva:
max hmotnost baliku je 10 kg
min hmotnost jenoho ks odhaduji na 0,001 kg
vstupni parametr hmotnosti nebyl jednoznacne definovan - zda to bude hmotnost jednoho ks nebo hmotnost celkem.
Proto jsou napsany dve funkce:
RzdDoBalJedn(KsClk As Integer, HmKs As Single) As String - pocet kuu a hmotnost kusu
RzdDoBalClk(KsClk As Integer, HmBal As Single) As String - pocet kusu a hmotnost celkem
V editoru VBA (Alt+F11) vlozit do standardniho modulu:

Kód: Vybrat vše

Option Explicit

Function RzdDoBalJedn(KsClk As Integer, HmKs As Single) As String
Dim KsDoBal As Integer, Pom As Integer
Const MaxHmBal As Single = 10
If Not IsNumeric(KsClk) Or Not IsNumeric(HmKs) Then RzdDoBalJedn = "Nečiselný vstupní parametr": Exit Function
Pom = Abs(KsClk): RzdDoBalJedn = vbNullString
Select Case Abs(HmKs)
Case 0 To 0.001
KsDoBal = 10000
Case Is < 0.01
KsDoBal = 1000
Case Is < 0.02
KsDoBal = 500
Case Is < 0.025
KsDoBal = 400
Case Is < 0.033
KsDoBal = 300
Case Is < 0.05
KsDoBal = 200
Case Is < 0.1
KsDoBal = 100
Case Is < 0.2
KsDoBal = 50
Case Else
RzdDoBalJedn = "Hmotnost jednoho ks převyšuje hmotnost pro minimální počet ks do balíku": Exit Function
End Select
Do
If Pom < KsDoBal Then RzdDoBalJedn = RzdDoBalJedn & Pom & " ks": Exit Do
RzdDoBalJedn = RzdDoBalJedn & KsDoBal & " ks + "
Pom = Pom - KsDoBal
Loop
End Function
Function RzdDoBalClk(KsClk As Integer, HmBal As Single) As String
RzdDoBalClk = RzdDoBalJedn(KsClk, HmBal / KsClk)
End Function

Pouziti: do bunky vlozit funkci z nabidky funkci - vlastni funkce

Re: Vzorec excel

Napsal: 21 kvě 2009 12:34
od Wuk
docela jste mě dostal toto vidím poprvé, ale zadařilo se. Děkuji myslím že je to tak to dostačujíci. Mohu toto téma uzavřít.

Re: Vzorec excel

Napsal: 21 kvě 2009 15:44
od navstevnik
Uzavreni tematu je nutno provest dle pravidel oznacenim odpovedi resici problem.
Pozn.: Pro uplne reseni by bylo dobre upresnit max netto vahu baliku a rozsah hmotnosti jednoho ks, pocitano s max 0,2 kg.