Pozdravljeni,
Imam dve tabeli, z registrskimi st. + cas voznje (stetje prometa na dveh koncih).
Torej uporabim vlookup funkcijo in dobim kdaj je prevozil prvo tocko in kdaj je prevozil drugo tocko..(registrska/ura1/ura2/)
Problem je kadar vozilo prevozi veckrat drugo tocko.
Kot je znano Vlookup vrne vedno prvo vrednost, ki jo najde..torej dobimo rezultate ko je vozilo drugo tocko prevozilo prej kot prvo. (ura2 je vedno enaka, ura1 pa se seveda "veca")
A je kaksna moznost z index in match funkcijo ali bo potrebno napisat kaksno vba kodo? (if cas2-cas1 < 0 then look next match)
Hvala za pomoc in odgovore!
Vlookup ali pa index&match ali pa vba koda
Ne pomaga. Vedno bo nasel samo eno vrednost..tisto katera pac bo prva na vrsti..jaz bi rad malo vec dinamike od vlookup-a .. ampak ocitno ne gre.. torej iscem pomoc in sem odprt za druge ideje.
imam pa priblizno tako..
reg cas cas2
mb-xy-55 07:00 7:15(ta je zraven pripopan sedaj z vlookup funcijo iz druge tabele
mb-xy-55 08:00 7:15 (tukaj pa bi moral sedaj biti recimo 8:15, kateri je v bistvu zapisan v drugi tabeli, vendar vedno vrze tega prvega..
mb-xy-55 09:00 7:15 ..
mb-zz-10 07:00 7:15 ..itd..
In nekatera vozila so pac prevozila obmocje 5, 6 krat v dnevu..al samo prvi del, pa drugega ne itd..
ce bi vsa samo enkrat prevozila obe tocki bi bilo kul . Ne vem kaj se imajo toliko za vozit po eni in isti poti
Torej sem mislil ce bi slucajno kdo ze delal s podobno zadevo in je kaj zgruntal.. ali pa magari kaj spisal.. ker tukaj bo verjetno edino pomagalo ce bi nekje vrinil "if cas2-cas1 <0 then look for next match value.." (ker ni bil prej na cilju kot na startu) ali pa "da ze obstaja tak match, najdi mi mi naslednjega ce obstaja, drugace pac nic" ...torej ena kratka koda..ampak nisem expert na tem podrocju in bi potreboval pomoc..
imam pa priblizno tako..
reg cas cas2
mb-xy-55 07:00 7:15(ta je zraven pripopan sedaj z vlookup funcijo iz druge tabele
mb-xy-55 08:00 7:15 (tukaj pa bi moral sedaj biti recimo 8:15, kateri je v bistvu zapisan v drugi tabeli, vendar vedno vrze tega prvega..
mb-xy-55 09:00 7:15 ..
mb-zz-10 07:00 7:15 ..itd..
In nekatera vozila so pac prevozila obmocje 5, 6 krat v dnevu..al samo prvi del, pa drugega ne itd..
ce bi vsa samo enkrat prevozila obe tocki bi bilo kul . Ne vem kaj se imajo toliko za vozit po eni in isti poti
Torej sem mislil ce bi slucajno kdo ze delal s podobno zadevo in je kaj zgruntal.. ali pa magari kaj spisal.. ker tukaj bo verjetno edino pomagalo ce bi nekje vrinil "if cas2-cas1 <0 then look for next match value.." (ker ni bil prej na cilju kot na startu) ali pa "da ze obstaja tak match, najdi mi mi naslednjega ce obstaja, drugace pac nic" ...torej ena kratka koda..ampak nisem expert na tem podrocju in bi potreboval pomoc..
Aha
Sedaj vas pa razumem. Torej vi imate še eno tabelo, kjer imate zapisane registerske tablice in čase prihodov, problem pa je, da je v tisti tabeli več ISTIH registerskih tablic. Rešitev je sledeča:
PRVI KORAK:
Tisto tabelo morate razširiti s števcem, ki šteje zaporedno pojavitev registerske tablice. Primer:
Števec dobite preprosto s funkcijo COUNTIF!
DRUGI KORAK
Združite registersko tablico in zaporedno številko v en niz. Primer:
Združite preprosto s funkcijo =A1 & "_" & B1
Ko boste izvedli ta dva koraka pa greva dalje do zadnjih dveh korakov. Javite ko boste, da ne pišem, vi pa bi potem sploh ne izbrali te poti
PS: Oba koraka sta noro trivialna, saj ju lahko izvedete skupaj tako da med registersko tablico in čas vrinete dve koloni in vanju vpišete funkciji
Ter semo skopirate funkciji navzdol (10 sekudnd dela!!!!). Mnogo, mnogo, mnogo manj kot sem ga jaz potreboval za pisanje tele solate
Sedaj vas pa razumem. Torej vi imate še eno tabelo, kjer imate zapisane registerske tablice in čase prihodov, problem pa je, da je v tisti tabeli več ISTIH registerskih tablic. Rešitev je sledeča:
PRVI KORAK:
Tisto tabelo morate razširiti s števcem, ki šteje zaporedno pojavitev registerske tablice. Primer:
Koda: Izberi vse
' namesto tega
REG ČAS
CExxx 12:30
CExxx 14:30
CExxx 15:50
CExxx 18:00
MBxyz 14:00
KRzzz 12:10
KRzzz 18:50
'morate dobiti tole
REG ZAP. ČAS
CExxx 1 12:30
CExxx 2 14:30
CExxx 3 15:50
CExxx 4 18:00
MBxyz 1 14:00
KRzzz 1 12:10
KRzzz 2 18:50
DRUGI KORAK
Združite registersko tablico in zaporedno številko v en niz. Primer:
Koda: Izberi vse
REG ZAP. SKUPAJ ČAS
CExxx 1 CExxx_1 12:30
CExxx 2 CExxx_2 14:30
CExxx 3 CExxx_3 15:50
CExxx 4 CExxx_4 18:00
MBxyz 1 MBxyz_1 14:00
KRzzz 1 KRzzz_1 12:10
KRzzz 2 KRzzz_2 18:50
Združite preprosto s funkcijo =A1 & "_" & B1
Ko boste izvedli ta dva koraka pa greva dalje do zadnjih dveh korakov. Javite ko boste, da ne pišem, vi pa bi potem sploh ne izbrali te poti
PS: Oba koraka sta noro trivialna, saj ju lahko izvedete skupaj tako da med registersko tablico in čas vrinete dve koloni in vanju vpišete funkciji
Koda: Izberi vse
=COUNTIF($A$2:A2;A2) =A2&"_"&B2
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator
Pozdravljeni,
Hvala za trud. Ampak mislim da mi to dodatno zaporedje ne bo pomagalo.. ker MBxxx se je lahko na prvi tocki pojavilo 5 krat, na drugi pa samo 3 krat ...ali pa obratno.
Pomeni torej, da mi pri MBxxx_5 ne bo nasel nic, ceprav bi mu dejansko pripadal Mbxxx_3 iz druge tocke..(ker pac tretjic in cetrtic ni peljal skozi drugo tocko, ampak se je prej obrnil recimo..)
Jaz mislim, da se ne bom mogel izogniti pisanju vba.. ker vse zahteva neko dinamiko..
Obvezno moram gledat match registrske, potem pa prvi cas primerjat z ostalimi casi v drugi tabeli, in to tako, da ne sme bit negativni rezultat(cas v osnovni tabeli mora biti manjsi od casa v drugi tabeli).
Torej MBxxx_5 bo imel cas (pri prvi tocki) enkrat pozno popoldne recimo 17:00, MBxxx_3 (pri drugi tocki) pa bo imel 17:15. To bo pravi rezultat. Sedaj mi vrze seveda rezultat od Mbxxx_1 (v drugi tabeli) - ki je manjsi.. in MBxxx_2 (pri drugi tocki) tudi verjetno je, tretji bo pa pravi...torej mora "preletet" vse opcije pri katerih je nasel match registrske in potem prilepit "ta pravo" (to je naslednja vecja ura od tiste v osnovni tabeli).
Sicer pa ja, ce se bodo naslednji koraki, in ce imate se voljo za razmisljat, bom popolnoma sledil navodilom. Ne bom obral nobene druge poti. (zdaj jo sicer sem - rocno - ker sem ze zgubil dan za metanje formul sem ter tja). Ampak za naslednje primere bo seveda dobrodosla avtomatizacija.. navsezadnje gre tukaj za par tisoc vozil...in rocno delo traja..traja...
Se enkrat hvala za trud.
LP
Hvala za trud. Ampak mislim da mi to dodatno zaporedje ne bo pomagalo.. ker MBxxx se je lahko na prvi tocki pojavilo 5 krat, na drugi pa samo 3 krat ...ali pa obratno.
Pomeni torej, da mi pri MBxxx_5 ne bo nasel nic, ceprav bi mu dejansko pripadal Mbxxx_3 iz druge tocke..(ker pac tretjic in cetrtic ni peljal skozi drugo tocko, ampak se je prej obrnil recimo..)
Jaz mislim, da se ne bom mogel izogniti pisanju vba.. ker vse zahteva neko dinamiko..
Obvezno moram gledat match registrske, potem pa prvi cas primerjat z ostalimi casi v drugi tabeli, in to tako, da ne sme bit negativni rezultat(cas v osnovni tabeli mora biti manjsi od casa v drugi tabeli).
Torej MBxxx_5 bo imel cas (pri prvi tocki) enkrat pozno popoldne recimo 17:00, MBxxx_3 (pri drugi tocki) pa bo imel 17:15. To bo pravi rezultat. Sedaj mi vrze seveda rezultat od Mbxxx_1 (v drugi tabeli) - ki je manjsi.. in MBxxx_2 (pri drugi tocki) tudi verjetno je, tretji bo pa pravi...torej mora "preletet" vse opcije pri katerih je nasel match registrske in potem prilepit "ta pravo" (to je naslednja vecja ura od tiste v osnovni tabeli).
Sicer pa ja, ce se bodo naslednji koraki, in ce imate se voljo za razmisljat, bom popolnoma sledil navodilom. Ne bom obral nobene druge poti. (zdaj jo sicer sem - rocno - ker sem ze zgubil dan za metanje formul sem ter tja). Ampak za naslednje primere bo seveda dobrodosla avtomatizacija.. navsezadnje gre tukaj za par tisoc vozil...in rocno delo traja..traja...
Se enkrat hvala za trud.
LP
Vas moram razočarati, da tako, kot ste sedaj opisali situacijo pa vam samo formule pravzaprav ne morejo pomagati. Torej da bi vi vnaprej pripravili formule in ne imeli kar veliko ročnega dela se ne da narediti... Bo potrebno poseči po VBA kodi.DamijanF napisal/-a: Sicer pa ja, ce se bodo naslednji koraki, in ce imate se voljo za razmisljat, bom popolnoma sledil navodilom. Ne bom obral nobene druge poti. (zdaj jo sicer sem - rocno - ker sem ze zgubil dan za metanje formul sem ter tja). Ampak za naslednje primere bo seveda dobrodosla avtomatizacija.. navsezadnje gre tukaj za par tisoc vozil...in rocno delo traja..traja...
PS: V kolikor se tega ne boste lotili samo si lahko pogledate sledeč link (http://www.matjazev.net/forum/viewtopic.php?p=2015)
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator
Lahko nekam shranite zvezek (shrani.si) in prilepite link, ker meni namreč še vedno ni jasno kako vse skupaj zgleda. Potem vam lahko mogoče še kako pomagam
[img]http://shrani.si/f/3t/YL/4W2P37B9/office.gif[/img]
[img]http://shrani.si/f/12/aa/1rt1wj6i/1/userbardionaea.gif[/img]
[img]http://shrani.si/f/3D/nN/3RQySBCl/vista-copy.gif[/img]
[img]http://shrani.si/f/12/aa/1rt1wj6i/1/userbardionaea.gif[/img]
[img]http://shrani.si/f/3D/nN/3RQySBCl/vista-copy.gif[/img]