[ woolf1975 @ 20.09.2009. 20:12 ] @
Moze li ova formula da se napravi tako da trazi MIN datum umijesto MAX, ali bas ovakva kakva jeste, ta forma mi je skroz ok, odnosno sluzila bi da brzom metodom dodjem do datuma koji su najblizi isteku roka valjanosti.

Code:

=MAX((A2:A21=F3)*(B2:B21=F4)*(C2:C21))

Formula je Aray i zavrsava sa ctrl+shift+enter

na mom primjeru nalazi se u ćeliji F5
[ 3okc @ 20.09.2009. 23:33 ] @
Rešenje je relativno jednostavno i možeš ga videti u prilogu.

Code:
=INDEX(C2:C21;MATCH(F3;A2:A21;0))


Formula "baš takva kakvu si je uneo" može biti i kraća, odnosno, nije potrebno da navodiš uslove koji se preslikavaju 1:1. Sasvim je dovoljno

Code:
=MAX((A2:A21=F3)*(C2:C21))


Drugo, nisi konzistentno unosio šifre i nazive artikala (što je prilična greška!), a sa prethodnim dupliranjem uslova bi garantovano dobio pogrešan rezultat. Pravilo je da se u posebnoj listi/tabeli vodi ovakav spisak artikala pa se onda po potrebi ulistava - ovo sam ti ispravio.

Međutim, najveći problem je što ovako kako si zamislio, uopšte ne rešavaš svoj problem! Naime, nije dovoljno imati "najmanju vrednost", ako je ta vrednost npr bila "juče". Poenta je da se traži najmanja vrednost koja je veća od današnjeg datuma. :)

A formula za to je "malo" komplikovanija. :)
[ woolf1975 @ 21.09.2009. 16:00 ] @
Da imas puno pravo, bilo bi super da je tej MIN datum minimalan u odnosu na trenutni a ne u odnosu na apsolutni datum. Probao sam ovako

Code:

=INDEX(C2:C50;MATCH(F3;A2:A50;0)>TODAY())

ne znam zasto mi daje pogresan rezultat?

Hvala.
[ Jpeca @ 21.09.2009. 18:55 ] @
Funkcija MATCH daje relativnu poziciju u nizu za vrednost koja zadovoljava kriterijum. Poređenje relativne pozicje u nizu sa today() nema smisla i zato je rezultat pogrešan.
Polazeći od tvoje početne matrične formule i poštujući napomenu 3okc da se ne dupliraju uslovi formula bi mogla da se napiše kao
Code:
=MIN(IF((A2:A21=F3)*(C2:C21>=TODAY());(C2:C21);""))

Ovo je matrična formula (t.j. array) i zavrsava sa Ctrl+Shift+Enter. Kao takva manje je efikasna od formule sa MATCH, ali ne zahteva da su datumi sortirani po rastućem redu, kao formula sa MATCH (mada u tvojoj listi već jesu).
[ woolf1975 @ 21.09.2009. 22:42 ] @
Hvala puno na pomoci.

Na otpremnici mi skida robu sa lagera i to ide sve super, ali zanima me dali bi se moglo uraditi da recimo u zavisnosti od datuma trajanja tu robu prvu i skida. odnosno recimo kolona C da je roba tek izasla iz proizvodnje, kolona D da je stara nekoliko dana. i sad u zavisnosti od toga tako i uzima, odnosno skida iz tih kolona.

[ Jpeca @ 22.09.2009. 14:50 ] @
Iz primera koji si postavio ne vidi se kako se količina skida sa lagera. Ako to radiš programski onda ne bi trebalo da bude problem da se prepravi kod tako da se doda petlja koja skida količinu sa prvog na koji naiđe sa tom šifrom iz kolone D, pa ako je količina veća od postojeće skida sa sledećeg itd. dok se ne izuzme potrebna količina. Prilikom formiranja otremnice treba proveriti da li tolika količina postoji za zadati artikl.
[ woolf1975 @ 23.09.2009. 08:31 ] @
Evo okačio sam primijer, treba samo u vba da promijenis putanju na koju vrši arhiviranje.

Pod karticom Lager imam kolonu "Stanje lagera" tu bi htjeo da ostane ukupna količina, e sad kad bi moglo da se doda pored te kolone jos 3 ili 4 kolone u kojima bi rastućim redoslijedom s lijeva na desno bili datumi kao naslovi tih kolona, odnosno, proizvod koji bi se proizveo danas da se upisuje u prvu kolonu pored "stanja lagera" i tako redom.

Kad se vrši otprema robe da na otpremnicu povlači podatke iz kolone u kojoj je proizvod sa najstarijim datumom, a ukoliko ga nema na stanju da uzima prvi slijedeci.

I možda da ide preko forme unos podataka u lager, odnosno da se nemora po cijelom listu traziti dje se nalazi neki proizvod pa da se dodaje proizvedena kolicina, nego da preko forme se na brz nacin to odradi.
[ Jpeca @ 23.09.2009. 10:47 ] @
Kompletno rešenje zahteva više vremena nego što ja trenutno imam. Moja ideja je da se dodaju dva nova lista:
Ulazi sa kolonama: Datum, Broj prijemnice, Šifra artikla, Količina i Preostalo.
Izlazi sa kolonama: Datum, Broj otpremnice, Šifra artikla, Količina

Prilikom prijma robe ažurira se list Ulazi. Početna vrednost u koloni Preostalo upisala bi se količna sa prijemnice (ista vrednost kao u koloni Količina).

Na listu Lager, kolona Stanje lagera računa se kao sumif za određenu šifru artika iz kolone Preostalo lista Ulazi.

Prilikom izdavanja robe ažurira se list Ulazi (kolona Preostalo) i list Izlazi. Prvo se proveri da li postoji dovoljna količina iz kolone Stanje lagera na listu lager za tu šifru artikla. Ako postoji kroz petlju se ažurira kolona preostalo na listu ulazi za određenu šifru artikla za koje je preostalo veće od 0. Za traženu količinu skine se količina iz kolone preostalo za prvu prijemnicu sa odgovarajućom šifrom artikal. Ako količina nije dovoljna skine se koliko je preostalo sa te prijemnice i umanji se tražena količina za tu količinu, pa se ide na sledeću prijemnicu. itd dok se ne zadovolji tražena količina. Na kraju se upiše novi red na listu Izlazi, zbog evidencije.

[ woolf1975 @ 23.09.2009. 14:39 ] @
Misslim da bi tvoje rešenje dalo veoma jasnu preglednost, ali cini mi se da bi obicnom useru zakompliciralo stvar, mozda grijesim ali dodavanje jos dva lista pored lagera na kojima bi bili podatci o ulazu i izlazu robe ne cini mi se svrsishodno, jer veliki je uspijeh sto sam ih nagovorio da stisnu to jedno dugme da bi vrsilo arhiviranje, stisnu ga samo zato jer i stampa 3 lista.
Bi li se moglo onako pored kolone "stanje lagera" postaviti jos recimo 4 u koje bi se upisivala roba sa razlicitim datumima, odnosno iz njih i skidala po odredjenom redoslijedu?

Hvala.