Verovatno je moguće i pomoću formula ali imaš dva rešenja koja su jednostavnija
A. Jedno relativno jednostavno rešenje je napraviti rutinu u VBA koja to odrađuje. Prolazi se red po red početne tabel i onda uzimaju prve dve po pet kolona iza treće i prepisuju u novu tabelu.
Kod nije komplikovan, dodao sam objašnjenja u samom kodu - vidi radnu svesku u prilogu
Da probaš makroi moraju da budu dozvoljeni u radnoj svesci.
1/ Obriši sadržaj ispod zaglavlja na listu DemoVBA (Zaglavlje ručno formirati gde treba, ne formira se u rutini)
2/ Prebaci se na list PRIMER
3/ Alt+F8, Test da startuješ makro
4/ U prvom dijalogu selektuj oblast A2:Q24 na listu primer
5/ U drugom dijalogu selektuj A2 na listu DemoVBA
B. Drugo rešenje je korišćenjem alata Get & Trasform (u Excel 2016), ranije poznatog kao Power Query. Na forumu koliko ja znam nije bilo mnogo govora o ovom alatu. Osnovna njegova primena je da se u Excel uvuku podaci iz eksternih fajlova ili baze podataka, međutim moguće je kao izvor izabrati tabelu u Excelu, pa tako ovaj alata koristi za razičite pretumbacije.
Kroz ovaj alat svaki korak transformacije se snima i kasnije se jedonstavno može pozvati ceo niz. Tokom rada imaš vizalni prikaz rezultata. Ako nešto pogrešiš obrišeš zadnji korak pa ponovo.
Osnova ideja u tvom slučaju da se iskoriste Unpivot i Pivot alatke za to što ti treba. Obrati pažnju da je za primenu Pivot bitno da postoji jedinstvana kombinacija u ostatku reda (koji se ne pivotuje) Kako kod tebe dobavljač i broj otpremnice nisu jedinstveni dodata je kolona sa brojačem kako bi napravila jedinstvena kombinacija.
Prethodno sam sredio nazive kolona da bi bilo lakše i jasnije - nazivi kolona su bitni za pivot.
Snimio sam postupak u priloženom videu.
Rezime postupka:
0/ Nazive kolona stavio da budu po "sekcijama" Dan1, Mes1...Iznos1, Dan2, Mes2...Iznos2 itd.
1/ Aktiviraš Data, Get i Transform sekcija > From Table. Istu alatku u prethodnoj verziji Excela naći ćeš u Power Query tab-u. Alat će izvori opseg pretvoriti u tabelu ako već nije - mora da bude tabela.
2/ Unutar alata kora po korak
2-1/ Uradio Unpivot za sve kolone osim prve dve. Sad su nazivi prešli u kolonu Attribute a vrednosti u Value.
2-2/ Izbacio red gde nema broj otpreminice (null) i iznos. Ovaj red pravi problem a ne znam da li treba
2-3/ Formirao novu kolonu za budućim nazivima kolona - skinuo broj sa kraja Dan, Mes ... Formula: Text.Start([Attribute], Text.Length([Attribute])-1)
2-4/ Izbacio stare nazive kolona (Attribute)
2-5/ Dodao indeksnu kolonu na osnovu koje ću formirati brojač (vidi gore)
2-6/ Dodao novu kolonu sa formulom za brojač. Forumla celobrojno deljenje indeksa sa 5: Number.IntegerDivide([Index],5)
2-7/ Obrisao indeksnu kolonu - ne treba
2-8/ Stavio brojac kolonu na početak zbog preglednosti
2-9/ Uradio Pivot po koloni ColName za vrednosti u Value koloni - nema agregiranja
Sad smo prebacili vrednosti u odgovarajuće koloen Dan, Mes, ....Iznos
2-10/ Na kraju obrišemo Brojac kolonu kao višak
2-11/ Rezultat prebacimo u Excel - novi list
3/ Kad se izmene podaci u izvornoj tabeli, dovoljnoj je desni klik Refresh na odredišnu tabelu da se osveži sa novim podacima, ceo postupak će se automatki ponoviti
Potpis
Nije to loše Rembrante, samo što ne bi dodao još malo boje?