SEŠTEVANJE PO EXCEL LISTIH

Pomoč pri delu z MS Excelom
Odgovori
fitefrbe
Prispevkov: 11
Pridružen: Po Mar 02, 2015 4:09 pm

SEŠTEVANJE PO EXCEL LISTIH

Odgovor Napisal/-a fitefrbe »

Potrebujem pomoč pri seštevanju različnih numeričnih podatkov na različnih excel listih.

V tabeli imam za vsak mesec toliko listov kot je dni. Struktura tabel (stolpci) po posameznih listih (dnevih) je enaka, različno pa je število vrstic po listih.
Tabela izračunava dnevno realizacijo izvajalcev v prodaji.
Na koncu bi želel imeti list, ki bi izračunaval realizacijo posameznih izvajalcev po različnih listih.

Primer: izvajalec XY ima neto realizacijo v listu '02' 50€, '05' 152€ ..... '27' 314€. Skupna realizacija izvajalca je torej recimo 50+152+...+314=seštevek vseh realizacij
Pozicije po listih niso vedno v isti vrstici, lahko je v določenem dnevu tudi več vrstic za posameznega izvajalca, je pa isti vedno stolpec.

Sedaj to izračunavam tako, da v zadnji list prenašam dnevne pozicije v skupno tabelo nato pa s filtriranjem delam seštevek.

Za pomoč se vnaprej zahvaljujem!
admin
Site Admin
Prispevkov: 3687
Pridružen: Sr Jul 20, 2005 10:06 pm

Re: SEŠTEVANJE PO EXCEL LISTIH

Odgovor Napisal/-a admin »

Pozdravljeni,

Tako, kot imate podatke urejene sedaj ni nobene pametne rešitve. Excel pozna tki. 3D formule oz formule, ki operirajo nad več listi (primer), a vam nič ne pomagajo, ker - kot pravite - podatki med listi niso v istih celicah.

Glede na to imate sedaj dve smiselni opciji (smiselni pravim zato, ker je možnosti seveda več, a omenjeni sta najhitrejši in najprimernejši):
  1. S pomočjo VBA izdelate makro, ki bo ve omenjeno naredil z enim klikom
  2. Vse podatke prekopirate na en list (lahko ročno ali pa z makrom - primere takšnih makrov najdete tudi na forumu). Ko imate vse podatke na enem listu pa jih lahko z vrtilno tabelo preoblikujete kakor želite - predvsem pa seveda po osebah - dnevih....
lp,
Matjaž Prtenjak
Administrator
fitefrbe
Prispevkov: 11
Pridružen: Po Mar 02, 2015 4:09 pm

Re: SEŠTEVANJE PO EXCEL LISTIH

Odgovor Napisal/-a fitefrbe »

Hvala za takojšen odgovor. Sem naredil makro po navodilih in načeloma dela. Imam pa še eno dodatno vprašanje:

Želim kopirati samo določene liste in znotraj listov samo določene vrstice, npr. vse vrstice brez prvih treh naslovnih vrstic (razen pri prvem listu) in brez zadnje vrstice, ki izračunava samo total. Torej rad bi prenos samo vmesnih vrstic, ki pa žal niso enako številčne po dnevih.

lp
admin
Site Admin
Prispevkov: 3687
Pridružen: Sr Jul 20, 2005 10:06 pm

Re: SEŠTEVANJE PO EXCEL LISTIH

Odgovor Napisal/-a admin »

fitefrbe napisal/-a:Želim kopirati samo določene liste in znotraj listov samo določene vrstice, npr. vse vrstice brez prvih treh naslovnih vrstic (razen pri prvem listu) in brez zadnje vrstice, ki izračunava samo total. Torej rad bi prenos samo vmesnih vrstic, ki pa žal niso enako številčne po dnevih.
In kakšno je vprašanje? Ne vam namreč, kaj bi vam lahko odgovoril.

V kodi pač ne upoštevate vseh listov temveč jih s pogojnim stavkom izločite. Enako oz. podobno naredite tudi za posamezne vrstice
lp,
Matjaž Prtenjak
Administrator
fitefrbe
Prispevkov: 11
Pridružen: Po Mar 02, 2015 4:09 pm

Re: SEŠTEVANJE PO EXCEL LISTIH

Odgovor Napisal/-a fitefrbe »

To razumem. samo ne znam tega narediti.
Poleg tega ne vem kako opredeliti, da izloči npr. zadnje tri vrstice, ki niso vedno na istem mestu. Prve tri so naslovne vrstice in so vedno enake in vedno na isti poziciji v listu, zadnje tri, ki so tudi strukturno vedno enake so pa včasih po peti vrstici, včasih po deseti itd..., skratka po zadnjem rednem vnosu.
admin
Site Admin
Prispevkov: 3687
Pridružen: Sr Jul 20, 2005 10:06 pm

Re: SEŠTEVANJE PO EXCEL LISTIH

Odgovor Napisal/-a admin »

Pozdravljeni,

Ti pa je odvisno seveda od vaše kode in brez kode vam nihče ne bo mogel pomagati.

Prve tri vrstice preskočite pač tako da začnete brati v četrti vrstici.

Zadnji tri pa tako, da se, ko vrstice prepisujete, vedno najprej vprašate ali se podatki nahajajo tudi tri vrstice naprej. Ali pa da najprej preverite število zapolnjenih vrstic na listu in prekpirate 6 vrstic manj.
lp,
Matjaž Prtenjak
Administrator
fitefrbe
Prispevkov: 11
Pridružen: Po Mar 02, 2015 4:09 pm

Re: SEŠTEVANJE PO EXCEL LISTIH

Odgovor Napisal/-a fitefrbe »

admin napisal/-a:Prve tri vrstice preskočite pač tako da začnete brati v četrti vrstici.

Zadnji tri pa tako, da se, ko vrstice prepisujete, vedno najprej vprašate ali se podatki nahajajo tudi tri vrstice naprej. Ali pa da najprej preverite število zapolnjenih vrstic na listu in prekpirate 6 vrstic manj.
A mi lahko to vašo trditev dodate v spodnji vzorec?

Sub ZdruziListe()
Dim novList As Worksheet: Set novList = Worksheets.Add
Dim list As Worksheet

For Each list In Worksheets
If (list.Name <> novList.Name) Then
list.Activate
list.UsedRange.Select
Selection.Copy Destination:=novList.Range("A65536").End(xlUp)(2)
End If
Next
End Sub


hvala, lp
admin
Site Admin
Prispevkov: 3687
Pridružen: Sr Jul 20, 2005 10:06 pm

Re: SEŠTEVANJE PO EXCEL LISTIH

Odgovor Napisal/-a admin »

Pozdravljeni,

"moje trditve" nimam kam zapisati, ker ničesar ne trdim, temveč vam razlagam oz. pomagam.

Glede na kopijo procedure, ki ste jo pobrali s spleta pa jo je potrebno popraviti, tako kot je zapisano spodaj

Koda: Izberi vse

Sub ZdruziListe()
  Dim novList As Worksheet: Set novList = Worksheets.Add
  Dim list As Worksheet

  For Each list In Worksheets
    If (list.Name <> novList.Name) Then
      list.Activate
      Dim rng As Range: Set rng = list.UsedRange.Offset(3, 0)
      If (rng.Rows.Count > 6) Then Set rng = rng.Resize(rng.Rows.Count - 6, rng.Columns.Count)
      
      rng.Select
      Selection.Copy Destination:=novList.Range("A65536").End(xlUp)(2)
    End If
  Next
End Sub
lp,
Matjaž Prtenjak
Administrator
fitefrbe
Prispevkov: 11
Pridružen: Po Mar 02, 2015 4:09 pm

Re: SEŠTEVANJE PO EXCEL LISTIH

Odgovor Napisal/-a fitefrbe »

Hvala za pomoč.
Sem stestiral, sicer relativno vse dela, razen to, da še vedno ne znam izključiti zadnje 4 vrtice vsakega lista.
Tudi mi ni čisto jasno zakaj pri določenih listih označi manj vrstic kot pri drugih. Ampak kot rečeno ostalo dela, to so pa pač sedaj lepotni popravki.
lp
Odgovori