[ ib.kroki @ 13.06.2024. 11:41 ] @
Molim za savet, kako kreirati automatski izveštaj.

Na radnom listu PODACI popunjava se tabela.

Potrebno je na listovima A i B kreirati izveštaj kopiranjem podataka sa lista PODACI, filtiranih po koloni TIP (A tip na radni list A, B tip na radni list B) i da sadrže samo određene kolone.

Nove informacije redovno će biti upisivane na list PODACI, a potebno je automatsko ažuriranje listova A i B.


Poželjno je rešenje bez VBA koda i bez FILTER funkcije da se može fajl koristiti na starijim Excel programima.
Može dodavanje pomoćnih kolona na list PODACI.


U prilogu primer fajla.
[ Jpeca @ 14.06.2024. 13:04 ] @
Ako izuzmemo FILTER funkciju, jednostavno i čisto rešenje je korišćenjem Power Query - lako je napraviti filtrirane podatke u obliku kako si zamislio. Power Query radi od verzije 2013, tako da je to verovatno ok, ali problem je potrea da se ručno uradi Refresh podatak nakon izmene na listu podaci. Osvežavanje može da se izvrši u odrađenim vremenskim intervalima, na otvaranje fajla ili programski ali kako sam razumeo to si želeo da izbegneš

Nekakvo rešenje je moguće korišćenjem Index funkcije koja bi iz lista podaci vratila onaj red koji zadovaljava uslov da je npr. tip = A. Nešto slično provlačilo se na forum npr: https://www.elitesecurity.org/t507909-0#4031590
U A2 treba upisati formulu pa je kopirati formulu za ceo izveštaj

Code:
=IFERROR(INDEX(Podaci!$A$2:$M$20,SMALL(IF(Podaci!$B$2:$B$20="A",ROW($1:$19),""),ROW($A1)), MATCH(A$1,Podaci!$A$1:$M$1,0)), "")


IF funkcija vraća listu redova koji zadovoljavaju uslov ili blanko, pa SMALL funkcija sa parametrom ROW($A1) iz te liste nalazi najmanji 1, 2, 3... red - tako da se dobije odgovarajući red za INDEX
MATCH(A$1,Podaci!$A$1:$M$1,0)) vraća broj kolone na osnovu naslova

Na kraju INDEX vraća vrednosti iz tako dobijenog reda i kolone

IFERROR služi da vrati prazne redove u izveštaju kad nema više redova koji zadovoljavaju uslov

Postoji problem sa formitiranjem - Da prazne ćelije budu bez okvira a popunjen sa okvirom možeš rešiti sa Conditional Format - stavi odgovarajuć okvir u slučaju da ćelija $A1 nije prazna . Takođe treba podesiti format

Rešenje za tip A sam postavio u prilogu. Formula je upisana do 20 reda.
[ ib.kroki @ 17.06.2024. 10:34 ] @
@Jpeca HVALA!

Slajno rešenje, nije mi palo na pamet, iskoistiću ga za neke druge pobleme.
Ne odgovara mi, jer ima ograničenje opsega.

Predložio si Power Query, ali korisnik treba da osveži i da je bar čuo za PQ alat - tako da mi je bolje koistiti VBA koji se aktivira svakim otvanjem radnog lista.


Kada sam postavio pitanje, potajno sam se nadao da postoji neko rešenje sa Pivot tabelom.

P.S.
Još jednom hvala i svaka čast za ideju!