charles91
08.02.17,18:07
Dobrý deň,
chcem poprosiť o radu.
Mám v exceli klasickú maticu z ktorej potrebujem spraviť databazovu formu. Ako keby vzor kontigenčnej tabulky, chcem rozdeliť na "nekontigenčné data".
Presne ako vo videu https://www.youtube.com/watch?v=N3wWQjRWkJc
Riešenie by mohol byť "Pivot Table and PivotChart Wizard". Avšak problém je, že nikde v exceli túto funkcionalitu nemám.
(Skúšal som už hladať v možnostiach pridať na panel úloh aj tie, ktoré nie su zobrazené... Skratka ALT+D+P nefunguje tiež.)
Používam Excel 2016 Profesional.
Neviete mi prosím poradiť ako to najdem?
Viete iné riešenie, ktoré by mohlo byť nápomocné?
Vopred dakujem.
chcem poprosiť o radu.
Mám v exceli klasickú maticu z ktorej potrebujem spraviť databazovu formu. Ako keby vzor kontigenčnej tabulky, chcem rozdeliť na "nekontigenčné data".
Presne ako vo videu https://www.youtube.com/watch?v=N3wWQjRWkJc
Riešenie by mohol byť "Pivot Table and PivotChart Wizard". Avšak problém je, že nikde v exceli túto funkcionalitu nemám.
(Skúšal som už hladať v možnostiach pridať na panel úloh aj tie, ktoré nie su zobrazené... Skratka ALT+D+P nefunguje tiež.)
Používam Excel 2016 Profesional.
Neviete mi prosím poradiť ako to najdem?
Viete iné riešenie, ktoré by mohlo byť nápomocné?
Vopred dakujem.
excel.sk
08.02.17,17:36
.
Súbor, Možnosti, Panel s nástrojmi rýchly prístup, Oblasť výberu príkazov: Všetky príkazy, Vľavo vyberiete Sprievodca kontingenčnou tabuľkou a grafom, tlačidlo Pridať
.
Súbor, Možnosti, Panel s nástrojmi rýchly prístup, Oblasť výberu príkazov: Všetky príkazy, Vľavo vyberiete Sprievodca kontingenčnou tabuľkou a grafom, tlačidlo Pridať
.
mepex
09.02.17,18:35
Tento postup sa volá unpivot-ovanie (rozloženie kontingenčnej tabuľky=pivot table). Z už existujúcej kontingenčnej tabuľky sa dá (ako je aj vo videu) dostať k zdrojovej tabuľke poklikaním (2xľavé tlačidol myši) na agregovanú hodnotu=>zobrazí všetky vstupné hodnoty a všetky ich dimenzie. Vo videu kt nevykonáva žiadnu agregáciu a tabuľka neobsahuje iné dimenzie, tak to zafunguje skvelo. Ale asi previesť tabuľku na kt a rozkliknúť sumár nechcete. Nepoznám však inú cestu okrem tejto a nástroja Power Query.
PQ je od verzie 2010 možné stiahnuť ako doplnok a v 2016 je automaticky. Všimol som si, že používate verziu 2016 a preto pripájam odkaz na video na dosiahnutie tohto cieľa. MePExG (.sk) PowerQuery UnPivot (https://ulozto.sk/!B5KWVuux0hVw/pqunpivot-avi)
Prikladám makro aj súbor s ním, ktoré na vybranú pozíciu rozloží (zadanú dvojrozmernú) tabuľku.
Sub UnPivot()
Static ciel As Range, vstup As Range, c As Integer, s As Integer, r As Integer, stlpcov As Integer, riadkov As Integer
Set ciel = Selection
Set vstup = Application.InputBox(prompt:="Vyberte prosím," & Chr(10) & "z ktorej oblasti UnPivotovať?", Type:=8)
riadkov = vstup.Rows.Count()
stlpcov = vstup.Columns.Count()
If stlpcov < 2 Or riadkov < 2 Then
Exit Sub
End If
ciel = vstup(1, 1)
ciel.Offset(0, 1) = "Atribut"
ciel.Offset(0, 2) = "Hodnota"
c = 1
For r = 2 To riadkov
For s = 2 To stlpcov
If vstup(r, s) <> 0 Then
ciel.Offset(c, 0) = vstup(r, 1)
ciel.Offset(c, 1) = vstup(1, s)
ciel.Offset(c, 2) = vstup(r, s)
c = c + 1
End If
Next s
Next r
End Sub
PQ je od verzie 2010 možné stiahnuť ako doplnok a v 2016 je automaticky. Všimol som si, že používate verziu 2016 a preto pripájam odkaz na video na dosiahnutie tohto cieľa. MePExG (.sk) PowerQuery UnPivot (https://ulozto.sk/!B5KWVuux0hVw/pqunpivot-avi)
Prikladám makro aj súbor s ním, ktoré na vybranú pozíciu rozloží (zadanú dvojrozmernú) tabuľku.
Sub UnPivot()
Static ciel As Range, vstup As Range, c As Integer, s As Integer, r As Integer, stlpcov As Integer, riadkov As Integer
Set ciel = Selection
Set vstup = Application.InputBox(prompt:="Vyberte prosím," & Chr(10) & "z ktorej oblasti UnPivotovať?", Type:=8)
riadkov = vstup.Rows.Count()
stlpcov = vstup.Columns.Count()
If stlpcov < 2 Or riadkov < 2 Then
Exit Sub
End If
ciel = vstup(1, 1)
ciel.Offset(0, 1) = "Atribut"
ciel.Offset(0, 2) = "Hodnota"
c = 1
For r = 2 To riadkov
For s = 2 To stlpcov
If vstup(r, s) <> 0 Then
ciel.Offset(c, 0) = vstup(r, 1)
ciel.Offset(c, 1) = vstup(1, s)
ciel.Offset(c, 2) = vstup(r, s)
c = c + 1
End If
Next s
Next r
End Sub
charles91
12.02.17,10:50
Ďakujem pekne za odpoveď. Nevedel, som, že sa to takto vola v slovenčine.
charles91
12.02.17,11:37
Ďakujem. Presne nad tou aktualizáciou dát som sa zamýlal, kedže s "rozloženou" ale aj "kontigenčnou" tabuľkou chcem pracovať.
Neviete, ako by sa to chovalo, ak by som súbor posúval medzi osoby, ktoré majú starší Excel, a nemajú P.Query ?
Inštalovať im ho nebude možné...
Neviete, ako by sa to chovalo, ak by som súbor posúval medzi osoby, ktoré majú starší Excel, a nemajú P.Query ?
Inštalovať im ho nebude možné...
mepex
12.02.17,18:12
U užívateľov bez PQ, proces nebude funkčný. V ich prípade by som skôr navrhol uložiť ako napr. txt, alebo csv a spracovať pomocou PQ na inom PC.
Na takom PC, sa dá PQ použiť na zhranie vstupných súborov z adresára.
Ak (PQ) však chcete dať do rúk užívateľov, je to problém, lebo PQ priamo obsahuje iba 2016 a dá sa doinštalovať ako doplnok, od verzie 2010.
Ešte by tu bola jedna možnosť a to je hľadať programátora, ktorý Vám UnPivotovanie urobí jednoúčelovo, iba pre Vaše údaje, Ovšem aspoň bez štruktúry, neviem či to niekto bude robiť.
Na takom PC, sa dá PQ použiť na zhranie vstupných súborov z adresára.
Ak (PQ) však chcete dať do rúk užívateľov, je to problém, lebo PQ priamo obsahuje iba 2016 a dá sa doinštalovať ako doplnok, od verzie 2010.
Ešte by tu bola jedna možnosť a to je hľadať programátora, ktorý Vám UnPivotovanie urobí jednoúčelovo, iba pre Vaše údaje, Ovšem aspoň bez štruktúry, neviem či to niekto bude robiť.
xxn
14.06.17,15:48
Mal som podobný problém s kurzovým lístkom. Vyriešila ho upravená VBA procedúra. Prikladám vzorový neupravený súbor (excel) aj procedúru (txt). Procedúra funguje vtedy ak máme fixné údaje v prvom stĺpci a údaje ktoré chceme transponovať v prvom riadku (to bude druhý stĺpec) a poliach pod ním (to bude tretí stĺpec). Excel súbor treba otvoriť. Procedúru potom treba nakopírovať do modulu (napr. cez Alt+F11- Insert - Module) vba editora a spustiť (klávesa F5). Výsledkom je novovytvorený zošit s "normalizovanými" údajmi. Súčasťou txt súboru je aj adresa webstránky z ktorej som čerpal ...tú samozrejme do VBA kopírovať netreba :).
mepex
07.08.17,17:56
PQ dokáže načítať údaje aj zo stránok, teda aj kurzový lístok a urobiť príslušný rozpad.