Hirdetés

Új hozzászólás Aktív témák

  • Mutt

    aktív tag

    válasz lumpy92 #49659 üzenetére

    Szia,

    Power Query-s (PQ) megoldást tudok javasolni ami Excel 2016-tól az Adatok (Data) fülön érhető el, a kulcsszó UNPIVOT, magyarul elemi értékek kinyerése. (Excel 2010-hez külön kell telepíteni.)

    1. CVS fájl nálam így néz ki.

    2. Egy üres Excel-ben Adatok -> Fájlból -> Text/CSV fájlból beolvasást választva megnyitjuk a CVS fájlt, majd az ablakban "Adatok átalakítása" opciót válaszd.

    3. Ahogy látom a példád első értéke az évet jelöli, ezt kell eltárolnunk egy változóba. Ehhez bal oldalt kattints a lekérdezésben látható névre és jobb klikk megkettőzés opciót válaszd.

    4. Középen van a szerkesztőléc, nyisd le és a "képlet" végére írd be hogy {0}. Ezzel az első sort választjuk ki. Ha nyomsz egy entert akkor látod is a változást. Most a képlet végére írd be még, hogy [Column1]. Ezzel pedig a sor "Column1" oszlopát választjuk ki. Ami marad az az évszám. Jobb oldalt a tulajdonságok alatt névnek adjál vmi értelmeset, én "evszam"-nak neveztem el.

    5. Bal oldalt a lekérdezések alatt válaszd a másikat, mert azon fogunk dolgozni.
    6. Kezdőlap -> Sorok eltvávolítás -> Legelső sorok eltávolítása opcióval az első sort távolítsuk el.
    7. Kattins az első oszlop fejlécére a teljes oszlop kijelöléséhez és Átalaktás -> Oszlopok elemi értékre bontása -> Többi oszlop bontása opciót válaszd. (Ez az Unpivot.)

    8. A kapott eredmény vmi ilyen. Az első oszlop továbbra is a napokat adja meg, a középsőből hónapokat csinálunk, az utolsó pedig az értékeid.

    9. Hónapokat egy új oszlop beszúrásával csináljunk. A forrásban Column2 januárt, Column3 feburárt (és így tovább a többinél) jelölte, vagyis ha töröljük a "column" szöveget és kivonunk 1-et a számból akkor megvan a hónap sorszáma. A képlet pedig: =Number.From(Text.Replace([Attribútum],"Column",""))-1

    10. Egy újabb egyéni oszlop beszúrásával csináljunk dátumot. A képlet: =#date(evszam,[Honap],[Column1])

    11. A dátum oszlop bal felső sarkában az ABC123 azt jelenti, hogy nincs adattípus az oszlophoz kiválasztva. Kattints ide és válaszd a dátumot. (Haladó változat, hogy már a 10-es lépésben megadjuk az adattípusát az eredménynek, de maradjunk még a kezdőlépéseknél.)
    12. Töröld a felesleges oszlopokat. Jelöld ki a dátum és érték oszlopokat, majd Kezdőlap -> Oszlopok eltávolítása további oszlopok eltávolítása.
    13. A dátumok között lesznek érvénytelenek. Ezeket Kezdőlap -> Sorok eltávolítása -> Hibák eltávolításával tudod törölni.

    14. Dátum oszlopot kijelölve, Kezdőlap -> Növekvő sorrendezés-sel tudod idősorba tenni az adatokat.
    15. Végül Kezdőlap -> Bezárás és betöltéssel Excelbe kerülnek az adatok.

    Vége.

    Ha elmented a fájlt, akkor a lenti lépések is mentődnek, igy ha lenne egy új adatsorod akkor egy frisstéssel azon is lehet használni.

    üdv

    A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel

Új hozzászólás Aktív témák