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

Ispis na osnovu unete šifre

[es] :: Office :: Excel :: Ispis na osnovu unete šifre

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

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

nivu

Član broj: 125183
Poruke: 11
*.dynamic.isp.telekom.rs.



+5 Profil

icon Ispis na osnovu unete šifre27.03.2013. u 21:30 - pre 134 meseci
Pozdrav svima,

Potrebna mi je vaša pomoć u vezi tabele. Ako pogledate prvi Sheet "Baza" videćete da se tu nalazi lista različitih aparata sortirana po serijskom broju. Ja sam iz informacionog sistema prekopirao svega nekoliko aparata zbog primera.

U drugom Sheet-u u B koloni (B2, B4, B6...) ja bih želeo da ukucavam šifre aparata, u C koloni (C2, C4, C6...) količinu određene serije koja se proizvodi, a da mi formula, makro ili šta već u produžetku ispiše koje šifre stiropora se ugrađuju u taj aparat (E2:O2), a ispod svake šifre količiu koja je potrebna za svaki komad posebno (E3:O3). Tako na primer ako u B2 ukucamo šifru aparata 101946, potrebo je da u E2 ispiše prvu šifru koja ide u aparat a to je u ovom primeru 661508, zatim u E3 sledeću šifru 661509, zatim u E4 treba da ispiše 661510, potom u E5 661511. Sve ove podatke formula bi trebalo da povuče iz Sheet-a "Baza" iz C kolone.

Ja sam u primeru u drugom Sheet-u ove vrednosti unosio ručno kako biste lakše razumeli šta treba da izlazi kao ispis u zavisnosti od unete šifre u B2.

Napomenuo bih još u vezi prvog Sheet-a, zašto baš ovakva organizacija podataka, zapravo ovo je nejpreglednije što sam uspeo da izvučem iz informacionog sistema da bi mi služilo kao baza, a da mi budu sve šifre obuhvaćene. Inače ova baza sadrži par hiljada šifara aparata.

Nadam se da sam uspeo da vam objasnim šta mi je zapravo potrebno, u koliko nisam stojim vam na raspolaganju. Svaka pomoć, pokušaj ili primedba je dobro došla.
Prikačeni fajlovi
 
Odgovor na temu

jaskojsako
BIH

Član broj: 141632
Poruke: 224
31.176.171.*



+4 Profil

icon Re: Ispis na osnovu unete šifre28.03.2013. u 09:40 - pre 134 meseci
poz
Mislim da se može odraditi preko funkcije VLOOKUP ali nije ti u redu organizacija baze.

evo ti formula za prvu ćeliju E2

=IF(B2=Baza!A2:A1000;(VLOOKUP(Baza!A2;Baza!$A$2:$D$1000;3;));)

Trebao bi promjeniti strukturu baze da bi mogao povlačiti podatke iz same baze.
Poz
Jasmin
 
Odgovor na temu

nivu

Član broj: 125183
Poruke: 11
*.dynamic.isp.telekom.rs.



+5 Profil

icon Re: Ispis na osnovu unete šifre28.03.2013. u 20:45 - pre 134 meseci
Hvala za pomoć, za prvu ćeliju radi baš kako si i predložio, da li postoji neka mogućnost da se formula primeni i na ostale ćelije? Ne mogu drugačije da organizujem bazu jer mi je ovo najbrži način da je prebacim iz informacionog sistema, a često treba da je ažuriram i dopunjavam sa novim aparatima, a često i u postojećim aparatima ima izmena.

Ako ti nije problem, pokaži mi na nekom primeru kako bi trebalo da se formira baza, možda uspem nešto tu da promenim mada teško. Dosta sam razmišljao i o tome.
 
Odgovor na temu

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

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

Sajt: www.gowi.rs


+109 Profil

icon Re: Ispis na osnovu unete šifre29.03.2013. u 13:41 - pre 134 meseci
Pošto su ti serijski brojevi sortirani može nešto relativno jednostavno koristeći pomoćne kolone
U jednoj koloni sa strane (T u mom primeru) odrediš gde počinje odredjeni seriski broj na listu baza pomoću funkcije MATCH

Code:
=MATCH(B14;Sifre;0)


Radi preglednosti imenovao sam opsege Sifre - Kolona A na listu baza i Stiropor - Kolona C na listu baza

Istom funkciojom ali opcijom 1 odredimo poslednji red sa zadatim serijskim brojem na listu baza (Bitno je da je lista sortirana po serijskom broju!). Kad oduzmemo prethodni rezultat i dodamo 1 dobijemo broj redova sa tim serijskim brojem (U15 u primeru)

Code:
=IFERROR(MATCH(B14;Sifre;1)-T14+1; 0)


Sad u glavnom delu napišeš formulu
Code:
=IF(COLUMN(A1)<=$U14;INDEX(stiropor;$T14+COLUMN(A1)-1);"")


Koja vraća indeks od početne pozicije za offset koji se formira preko column(A1) - kopiranjem formule u susednim ćelijama to će biti redni brojevi 1, 2, 3...
IF jednostavno koristimo da sprečimo ispisivanje kad nema šta da se ispisuje

Opštije rešenje je pomoću matričnih formula i naćićeš u primeru. Sakrivanje greške #NUM možeš rešiti npr sa uslovinim formatiranjem.



Nije to loše Rembrante, samo što ne bi dodao još malo boje?
Prikačeni fajlovi
 
Odgovor na temu

elektroing
elektroing
IT sektor
Podgorica

Član broj: 204397
Poruke: 98
*.crnagora.net.



Profil

icon Re: Ispis na osnovu unete šifre30.03.2013. u 17:49 - pre 134 meseci
Evo i resenja pomocu VBA.

Code:

Private Sub CommandButton1_Click()
   
   uk_baza = Sheets("Baza").Cells(1, 8).Value
   uk_ispis = Sheets("Baza").Cells(2, 8).Value * 2
   
   For a = 2 To uk_ispis step 2
   j = 5
   For b = 2 To uk_baza
   
   FirstItem = Sheets("Ispis").Cells(a, 2).Value
   SecondItem = Sheets("Baza").Cells(b, 1).Value
 
      If FirstItem = SecondItem Then
        Sheets("Ispis").Cells(a, j).Value = Sheets("Baza").Cells(b, 3).Value
        Sheets("Ispis").Cells(a + 1, j).Value = Sheets("Ispis").Cells(a, 3).Value * Sheets("Baza").Cells(b, 5).Value
        j = j + 1
        
      End If

   Next b
   Next a
   
End Sub





[Ovu poruku je menjao elektroing dana 30.03.2013. u 20:26 GMT+1]
Prikačeni fajlovi
 
Odgovor na temu

nivu

Član broj: 125183
Poruke: 11
*.dynamic.isp.telekom.rs.



+5 Profil

icon Re: Ispis na osnovu unete šifre01.04.2013. u 21:07 - pre 134 meseci
Hvala vam svima, puno ste mi pomogli. Ako uzmem u obzir moje znanje Exela meni je nekako najjasnije rešenje koje je napravio Jpeca. Sada ako ne tražim previše pitao bih vas da li postoji način da ispod svake šifre u ispisu (na listu "ispis", u ćelijama E3:O3, E5:O5, E7:O7...) stoji broj iz lista "Baza", kolona E?

Da pojasnim, ako je kao kod mene u primeru na listu "Ispis" u ćeliji E2 ispisana je šifra 661508 koja je povučena iz lista "Baza" i ćelije C2, pa shodno tome, zeleo bih da iz istog reda povuče podatak samo iz kolone E2 i prepiše ga u list "Ispis" u ćeliju E2, pa zatim za sledeću šifu u Ispisu...

Nadam se da ste uspeli ukapirati šta tačno želim da dobijem, pa ako imate predloge i rešenja kuckajte.
 
Odgovor na temu

jaskojsako
BIH

Član broj: 141632
Poruke: 224
31.176.129.*



+4 Profil

icon Re: Ispis na osnovu unete šifre02.04.2013. u 08:43 - pre 134 meseci
Poz
Rješenje koje ti je ponudio član elektroing
preko VBA ti odrađuje baš to što ti treba ako sam dobro razumio
tvoj problem-
poz

Jasmin
 
Odgovor na temu

elektroing
elektroing
IT sektor
Podgorica

Član broj: 204397
Poruke: 98
*.crnagora.net.



Profil

icon Re: Ispis na osnovu unete šifre03.04.2013. u 00:06 - pre 134 meseci
Prilozio bi i optimizovani kod koji smanjuje broj prolaza kroz for petlju, prolazi samo onoliko puta koliko ima poklapanja podataka. Pod uslovom da je sortirano po koloni "sifra aparata".


Code:

Private Sub CommandButton1_Click()
   
   Dim br_ponavljanja As Double
   uk_baza = Application.WorksheetFunction.CountA(Worksheets("Baza").Range("A:A"))
   uk_ispis = Application.WorksheetFunction.CountA(Worksheets("Ispis").Range("b:b")) * 2
   
   For a = 2 To uk_ispis Step 2
   
   j = 5
   Firstitem = Sheets("Ispis").Cells(a, 2).Value
   br_ponavljanja = Application.WorksheetFunction.CountIf(Worksheets("Baza").Range("A:A"), Firstitem)
   Set c = Sheets("Baza").Cells.Find(Firstitem, LookIn:=xlValues)
   celija = c.Row
   
   For b = celija To celija + br_ponavljanja - 1
   
   SecondItem = Sheets("Baza").Cells(b, 1).Value
   Sheets("Ispis").Cells(a, j).Value = Sheets("Baza").Cells(b, 3).Value
   Sheets("Ispis").Cells(a + 1, j).Value = Sheets("Ispis").Cells(a, 3).Value * Sheets("Baza").Cells(b, 5).Value
   j = j + 1

   Next b
   Next a
   
End Sub
Prikačeni fajlovi
 
Odgovor na temu

[es] :: Office :: Excel :: Ispis na osnovu unete šifre

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

Postavi temu Odgovori

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