{"text_format":"1","workbook":"xlsx","n_sheets":2,"sheets":["Alap","Mapping"],"not_rendered":{"charts":0,"images":6,"macros":1,"external_links":0,"defined_names":0,"comments":0,"pivot_tables":4},"unopened":[],"bounds":{"document_bytes":16777216,"sheet_cells":100000,"rows_first":2000,"rows_last":500,"rows_between":2000,"halvings":0,"cell_chars":16384,"cell_head_chars":4096},"cells_cut":0,"cells_raw":0,"read":"whole","date_system":"1900"}

{"sheet":"Alap","index":0,"n_rows":278,"n_cols":19,"rows_kept":278,"cut":false,"hidden":false,"merged":[[277,5,277,9],[2,6,2,19],[4,5,7,21],[16,7,26,10],[33,11,46,18],[10,6,11,19],[49,6,50,19],[53,7,56,18],[96,7,98,18],[109,7,111,18],[113,9,115,18],[138,6,139,19],[142,7,144,18],[194,6,195,19],[197,7,200,18],[247,7,248,18],[146,10,148,16],[150,10,152,16],[154,10,156,16],[158,10,160,16],[162,10,164,16],[166,10,168,16],[170,10,172,16],[234,10,236,16],[238,10,240,16],[242,10,244,16],[202,9,204,18],[231,7,232,18]]}
[]
[]
[null,null,null,null,null,null,"Adattisztítás makróval (makróírás alapok)"]
[]
[null,null,null,null,null,"Kézzel történő adatbevitelkor gyakran okoz problémát, hogy ugyanaz a tartalom több különböző formában is megjelenik. Például azt, hogy \"Győr\" írhatják \"Gyor\"-nek, \"győr\"-nek, vagy \"GYÖR\"-nek is, nem beszélve az elírásokról. Ha az adatokat ezt követően egy Excel táblában összesítjük, amikor kimutatást készítünk az adatokból a sok különböző \"Győr\" külön sorokon jelenik majd meg. E havi Excel tippünk erre szeretne megoldást nyújtani.\nA makróírás alapjait mutatjuk be egy könnyen érthető adattisztítási példán keresztül."]
[]
[]
[]
[]
[]
[null,null,null,null,null,null,"Az adattisztítási probléma bemutatása"]
[]
[]
[]
[]
[]
[null,null,null,null,null,null,null,"Az első táblázatban (1/a) egy Call Center adatainak részletét láthatjuk, pontosabban azt, hogy melyik ország melyik városából érkeztek hívások, illetve ezek hány percig tartottak. Az a feladatunk, hogy számítsuk ki az egyes városok  átlagos hívásidejeit. Ezt legegyszerűbben úgy tudjuk megvalósítani, ha a kapott adatokat kijelöljük, beszúrunk rá egy kimutatást, soroknak betesszük a \"Város\" (1/b), értékeknek pedig a \"Hívás időtartama\" (1/c) mezőket, végül ez utóbbi értékmező beállítását (1/d) összegről átlagra állítjuk (1/d és 1/e).",null,null,null,null,null,null,null,null,null,"Sorcímkék","Átlag / Hívás időtartama (perc)"]
[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"gyor",4.666666666666667]
[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"gyór",5]
[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"győr",5.666666666666667]
[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"szekesfehervar",13.5]
[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"székesfehervar",12]
[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"székesfehérvár",2]
[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"Végösszeg",5.882352941176471]
[]
[]
[]
[]
[]
[null,null,null,null,null,null,null,"Ország","Város","Hívás időtartama (perc)"]
[null,null,null,null,null,null,null,"Magyarország","gyor",6," "]
[null,null,null,null,null,null,null,"Magyarország","székesfehérvár",2]
[null,null,null,null,null,null,null,"Magyarország","győr",3]
[null,null,null,null,null,null,null,"Magyarország","gyor",4,null,"Ekkor a kimutatásban (1/f) azt tapasztaljuk, hogy a különböző karakterek miatt \"Győr\" és \"Székesfehérvár\" is 3-3 különböző soron jelennek meg. Ahhoz, hogy a két város hívásideinek átlagát 1-1 soron lássuk, el kell távolítani az ékezeteket. Ezt megtehetjük egyesével a Ctr+H (Keresés és csere) funkció használatával, de ennél van egy hatékonyabb megoldás is - a keresés és csere makró. A következő részben kicsit belemélyedünk a makróírás alapjaiba, de a leírást igyekeztünk úgy összeállítani, hogy a VBA (Visual Basic for Applications - az Excel programnyelve) előzetes ismerete nélkül is követhető, érthető legyen."]
[null,null,null,null,null,null,null,"Magyarország","győr",10]
[null,null,null,null,null,null,null,"Magyarország","gyor",4]
[null,null,null,null,null,null,null,"Magyarország","székesfehérvár",1]
[null,null,null,null,null,null,null,"Magyarország","szekesfehervar",7]
[null,null,null,null,null,null,null,"Magyarország","győr",1]
[null,null,null,null,null,null,null,"Magyarország","szekesfehervar",20]
[null,null,null,null,null,null,null,"Magyarország","gyór",5]
[null,null,null,null,null,null,null,"Magyarország","győr",15]
[null,null,null,null,null,null,null,"Magyarország","székesfehérvár",3]
[null,null,null,null,null,null,null,"Magyarország","székesfehervar",12]
[null,null,null,null,null,null,null,"Magyarország","székesfehérvár",2]
[null,null,null,null,null,null,null,"Magyarország","győr",2]
[null,null,null,null,null,null,null,"Magyarország","győr",3]
[]
[]
[null,null,null,null,null,null,"Előkészületek"]
[]
[]
[]
[null,null,null,null,null,null,null,"Mielőtt elkezdenénk a makróírást, ellenőrizzük, hogy a Fejlesztőeszközök fül be van-e kapcsolva. Ha nincs, kattintsunk a Fájl / Beállítások menüpontra, keressük meg a Menüszalag testreszabása (3/a) menüben a Fejlesztőeszközöket, pipáljuk ki (3/b), és kattintsunk az OK-ra (3/c)."]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[null,null,null,null,null,null,null,"A VBA programozói felületét megnyithatjuk a Fejlesztőeszközök menüben a Visual Basic gombra kattintva (4/a), vagy az Alt+F11 billentyűkombináció használatával."]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[null,null,null,null,null,null,null,"Amikor megnyitjuk a VBA-t az alábbi felületet láthatjuk (5/a). Innen mi most csak a \"Modules\" részt (5/b) fogjuk használni. Itt találhatóak a már előkészített \"tanuló\" makrók, amiket dupla kattintással nyithatunk meg. Ha megnyitottunk egy makrót (5/c), akkor az F5 gombbal, vagy a \"play\" ikonra kattintva (5/d) futtathatjuk."]
[]
[]
[]
[null,null,null,null,null,null,null,null,null,"Megjegyzés: Egy modulba több makrót is írhatunk, ekkor mindig csak az fut le, amelyiknek a kódjába belekattintottunk. Azelkészült makrókat a Fejlesztőeszközök menü Makrók gombjára kattintva is megnézhetjük."]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[null,null,null,null,null,null,"A makróírás alapjai"]
[]
[]
[]
[null,null,null,null,null,null,null,"A továbbiakban a részletes leírások a makrók kódjai mellett fognak szerepelni, az Excelben csak a makrók rövid leírása, illetve a tesztelésükhöz szükséges segédanyagok lesznek feltüntetve. A makrók megtekintéséhez keressük meg a megfelelő makró nevét a VBA moduljai között, és kattintsunk rá duplán. A modulok egymásra épülnek, ezért célszerű a lenti sorrendben végigmenni rajtuk."]
[]
[]
[]
[null,null,null,null,null,null,null,null,null,null,"A VBA-ban a modulok közül válasszuk ki a \"A_HelloVilag\"-ot. Ez a VBA kód alapvető struktúráját, és az üzenetek kiíratását mutatja be. A makrót a gombra kattintva, vagy VBA-ból futtatva tesztelhetjük."]
[]
[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"Adatcsere"]
[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"x"]
[null,null,null,null,null,null,null,null,null,null,"A következő kód a \"B_Csere\" modulban található, itt a keresés és csere VBA-ból történő használatát mutatjuk be. A makró kipróbálásához jelöljük ki a táblázatot (6/a), és kattintsunk a csere gombra, vagy futtassuk VBA-ban a kódot.",null,null,null,null,null,null,null,"x"]
[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"x"]
[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"x"]
[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"x"]
[null,null,null,null,null,null,null,null,null,null,"A \"C_Valtozok\" modulban a változókezelés alapjairól írunk. A kód a táblázaton (6/a) tesztelhető.",null,null,null,null,null,null,null,"x"]
[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"x"]
[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"x"]
[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"x"]
[null,null,null,null,null,null,null,null,null,null,"A \"D_ForCiklus\" modulban a VBA (és sok más programnyelv) egyik legfontosabb eleméről, a FOR ciklusról lesz szó."]
[]
[]
[]
[null,null,null,null,null,null,null,null,null,null,"A ciklusok után a tömbváltozókat szeretnénk bemutatni, ehhez az \"E_Tombok\" modult kell megnyitni."]
[]
[]
[]
[null,null,null,null,null,null,null,null,null,null,"A \"F_TombCiklus\"-ban az előző két modulban tanultakat kombináljuk."]
[]
[]
[]
[null,null,null,null,null,null,null,null,null,null,"A \"G_EkezetCsere\" modullal elérkeztünk az első feladat megoldásáig, nézzük meg a kódot, próbáljuk ki a lenti mintán (6/b) és nézzük meg hogyan változik a kimutatás eredménye (6/c).\nEhhez a makró lefuttatása után kattintsunk a kimutatásunk tetszőleges cellájába, majd a fenti menüszalagon megjelenő \"Elemzés\" menüpontban a frissítés gombra."]
[]
[]
[]
[]
[null,null,null,null,null,null,null,null,null,null,"Ország","Város","Hívás időtartama (perc)",null,"Sorcímkék","Átlag / Hívás időtartama (perc)"]
[null,null,null,null,null,null,null,null,null,null,"Magyarország","gyor",6,null,"gyor",4.666666666666667]
[null,null,null,null,null,null,null,null,null,null,"Magyarország","székesfehérvár",2,null,"gyór",5]
[null,null,null,null,null,null,null,null,null,null,"Magyarország","győr",3,null,"győr",5.666666666666667]
[null,null,null,null,null,null,null,null,null,null,"Magyarország","gyor",4,null,"szekesfehervar",13.5]
[null,null,null,null,null,null,null,null,null,null,"Magyarország","győr",10,null,"székesfehervar",12]
[null,null,null,null,null,null,null,null,null,null,"Magyarország","gyor",4,null,"székesfehérvár",2]
[null,null,null,null,null,null,null,null,null,null,"Magyarország","székesfehérvár",1,null,"Végösszeg",5.882352941176471]
[null,null,null,null,null,null,null,null,null,null,"Magyarország","szekesfehervar",7]
[null,null,null,null,null,null,null,null,null,null,"Magyarország","győr",1]
[null,null,null,null,null,null,null,null,null,null,"Magyarország","szekesfehervar",20]
[null,null,null,null,null,null,null,null,null,null,"Magyarország","gyór",5]
[null,null,null,null,null,null,null,null,null,null,"Magyarország","győr",15]
[null,null,null,null,null,null,null,null,null,null,"Magyarország","székesfehérvár",3]
[null,null,null,null,null,null,null,null,null,null,"Magyarország","székesfehervar",12]
[null,null,null,null,null,null,null,null,null,null,"Magyarország","székesfehérvár",2]
[null,null,null,null,null,null,null,null,null,null,"Magyarország","győr",2]
[null,null,null,null,null,null,null,null,null,null,"Magyarország","győr",3]
[]
[null,null,null,null,null,null,"Adatcsere makróval a \"Mapping\" munkalapról"]
[]
[]
[null,null,null,null,null,null,null,"A következő feladatban szintén adattisztítással fogunk foglalkozni, és újra a Call Centeres példát vesszük alapul. Azonban a lenti táblában (7/a) és az arra épülő kimutatásban (7/b) már nem csak elgépelésekről van szó, hanem több karakter is rosszul lett lekódolva. Szerencsére azonban ez a hiba már nem először fordul elő a rendszerben, így találtunk egy táblázatot (Mapping munkalap), ami a városnevek hibás és helyes verzióit egyaránt tartalmazza. A cseréhez használhatnánk fkeres függvényt is, de már majdnem készen van a makrónk, ami egy kattintásra megoldja a problémát. "]
[]
[]
[]
[]
[null,null,null,null,null,null,null,null,null,"Megjegyzés: Az itt készített makró annyiban tér el az fkeres függvénytől, hogy nem egy új oszlopba dolgozik, hanem felülírja az adatot, illetve nem feltétlenül az egész szöveget cseréli, (például ugyanúgy használhatjuk ékezetek cseréjére is, mint az előző makrót)."]
[]
[]
[]
[]
[]
[null,null,null,null,null,null,null,null,null,null,"Ország","Város","Hívás időtartama (perc)",null,"Sorcímkék","Összeg / Hívás időtartama (perc)"]
[null,null,null,null,null,null,null,null,null,null,"Moldova","Chiin\u0019\"au",7,null,"\u0019\"Ca\u0019\"cak",7]
[null,null,null,null,null,null,null,null,null,null,"Cseh Köztársaság","Nový Ji\u0019\"cín",8,null,"\u0019\"Cakovec",8]
[null,null,null,null,null,null,null,null,null,null,"Cseh Köztársaság","Nový Jičín",1,null,"\u0019\"Cáslav",2]
[null,null,null,null,null,null,null,null,null,null,"Lengyelország","Poznań",10,null,"\u0019\"Ô\u0019\"ürnak",21]
[null,null,null,null,null,null,null,null,null,null,"Románia","Zalău",4,null,"\u0019\"ßstanbul",5]
[null,null,null,null,null,null,null,null,null,null,"Szerbia","Čačak",10,null,"Čačak",10]
[null,null,null,null,null,null,null,null,null,null,"Moldova","F\u0019\"aleti",8,null,"Čakovec",6]
[null,null,null,null,null,null,null,null,null,null,"Magyarország","Győr",6,null,"Chiin\u0019\"au",7]
[null,null,null,null,null,null,null,null,null,null,"Horvátország","Čakovec",6,null,"F\u0019\"aleti",8]
[null,null,null,null,null,null,null,null,null,null,"Szerbia","\u0019\"Ca\u0019\"cak",1,null,"Fălești",32]
[null,null,null,null,null,null,null,null,null,null,"Bosznia és Hercegovina","Zavidovi\u0019\"ái",9,null,"Gy\u0019\"qr",6]
[null,null,null,null,null,null,null,null,null,null,"Törökország","\u0019\"Ô\u0019\"ürnak",21,null,"Lwówek Śląski",6]
[null,null,null,null,null,null,null,null,null,null,"Lengyelország","Wroc\u0019\"naw",7,null,"Nový Ji\u0019\"cín",8]
[null,null,null,null,null,null,null,null,null,null,"Magyarország","Gy\u0019\"qr",6,null,"Nový Jičín",1]
[null,null,null,null,null,null,null,null,null,null,"Lengyelország","Wroc\u0019\"naw",9,null,"Pozna\u0019\"ì",5]
[null,null,null,null,null,null,null,null,null,null,"Horvátország","\u0019\"Cakovec",8,null,"Poznań",10]
[null,null,null,null,null,null,null,null,null,null,"Szerbia","\u0019\"Ca\u0019\"cak",6,null,"Wroc\u0019\"naw",16]
[null,null,null,null,null,null,null,null,null,null,"Törökország","\u0019\"ßstanbul",5,null,"Zalău",4]
[null,null,null,null,null,null,null,null,null,null,"Moldova","Fălești",32,null,"Zavidovi\u0019\"ái",9]
[null,null,null,null,null,null,null,null,null,null,"Cseh Köztársaság","\u0019\"Cáslav",2,null,"Végösszeg",171]
[null,null,null,null,null,null,null,null,null,null,"Lengyelország","Pozna\u0019\"ì",5]
[]
[null,null,null,null,null,null,null,"Ahhoz, hogy meg tudjuk írni a makrót, még három lépést kell megtennünk."]
[]
[]
[null,null,null,null,null,null,null,null,null,null,"A továbbiakban arra lesz szükség, hogy adatot olvassunk be az egyik munkalapról. Ezt a \"H_BeolvasasMunkalaprol\" mutatja be."]
[]
[]
[]
[null,null,null,null,null,null,null,null,null,null,"A cellákat tömbökbe is beolvashatjuk, ezt a \"I_TombbeOlvasas\"-ban láthatjuk."]
[]
[]
[]
[null,null,null,null,null,null,null,null,null,null,"Az utolsó lépésben kombináljuk az eddig tanultakat. A \"J_MappingCsere\" modul és az abban bemutatott makrót felhasználva a következő lépésben megcsinálhatjuk az adattisztítást."]
[]
[]
[]
[]
[null,null,null,null,null,null,null,"Végül tisztítsuk meg a kapott adatokat az utolsó makrónk használatával. Jelöljük ki a Városneveket a lenti táblázatban (9/a), indítsuk el a \"MappingCsere\" makrót, és nézzük meg a változásokat a kimutatásban (9/b). Ehhez a makró lefuttatása után kattintsunk a kimutatásunk tetszőleges cellájába, majd a fenti menüszalagon megjelenő \"Elemzés\" menüpontban a frissítés gombra."]
[]
[]
[]
[null,null,null,null,null,null,null,null,null,null,"Ország","Város","Hívás időtartama (perc)",null,"Sorcímkék","Átlag / Hívás időtartama (perc)"]
[null,null,null,null,null,null,null,null,null,null,"Moldova","Chiin\u0019\"au",7,null,"\u0019\"Ca\u0019\"cak",3.5]
[null,null,null,null,null,null,null,null,null,null,"Cseh Köztársaság","Nový Ji\u0019\"cín",8,null,"\u0019\"Cakovec",8]
[null,null,null,null,null,null,null,null,null,null,"Cseh Köztársaság","Nový Jičín",1,null,"\u0019\"Cáslav",2]
[null,null,null,null,null,null,null,null,null,null,"Lengyelország","Poznań",10,null,"\u0019\"Ô\u0019\"ürnak",21]
[null,null,null,null,null,null,null,null,null,null,"Románia","Zalău",4,null,"\u0019\"ßstanbul",5]
[null,null,null,null,null,null,null,null,null,null,"Szerbia","Čačak",10,null,"Čačak",10]
[null,null,null,null,null,null,null,null,null,null,"Moldova","F\u0019\"aleti",8,null,"Čakovec",6]
[null,null,null,null,null,null,null,null,null,null,"Magyarország","Győr",6,null,"Chiin\u0019\"au",7]
[null,null,null,null,null,null,null,null,null,null,"Horvátország","Čakovec",6,null,"F\u0019\"aleti",8]
[null,null,null,null,null,null,null,null,null,null,"Szerbia","\u0019\"Ca\u0019\"cak",1,null,"Fălești",32]
[null,null,null,null,null,null,null,null,null,null,"Bosznia és Hercegovina","Zavidovi\u0019\"ái",9,null,"Gy\u0019\"qr",6]
[null,null,null,null,null,null,null,null,null,null,"Törökország","\u0019\"Ô\u0019\"ürnak",21,null,"Győr",6]
[null,null,null,null,null,null,null,null,null,null,"Lengyelország","Wroc\u0019\"naw",7,null,"Nový Ji\u0019\"cín",8]
[null,null,null,null,null,null,null,null,null,null,"Magyarország","Gy\u0019\"qr",6,null,"Nový Jičín",1]
[null,null,null,null,null,null,null,null,null,null,"Lengyelország","Wroc\u0019\"naw",9,null,"Pozna\u0019\"ì",5]
[null,null,null,null,null,null,null,null,null,null,"Horvátország","\u0019\"Cakovec",8,null,"Poznań",10]
[null,null,null,null,null,null,null,null,null,null,"Szerbia","\u0019\"Ca\u0019\"cak",6,null,"Wroc\u0019\"naw",8]
[null,null,null,null,null,null,null,null,null,null,"Törökország","\u0019\"ßstanbul",5,null,"Zalău",4]
[null,null,null,null,null,null,null,null,null,null,"Moldova","Fălești",32,null,"Zavidovi\u0019\"ái",9]
[null,null,null,null,null,null,null,null,null,null,"Cseh Köztársaság","\u0019\"Cáslav",2,null,"Végösszeg",8.1428571428571423]
[null,null,null,null,null,null,null,null,null,null,"Lengyelország","Pozna\u0019\"ì",5]
[]
[]
[]
[]
[null,null,null,null,null,"Készítette: Váradi Áron (aron.varadi@horvath-partners.com)"]

{"sheet":"Mapping","index":1,"n_rows":20,"n_cols":2,"rows_kept":20,"cut":false,"hidden":false,"merged":[]}
["Város1","Város2"]
["Ko\u0019\"nobrzeg","Kołobrzeg"]
["Zavidovi\u0019\"ái","Zavidovići"]
["\u0019\"Cakovec","Čakovec"]
["\u0019\"Cáslav","Čáslav"]
["Nový Ji\u0019\"cín","Nový Jičín"]
["E/Alaje","Alaje"]
["Gy\u0019\"qr","Győr"]
["Marijampol\u0019\"ä","Marijampolė"]
["Chiin\u0019\"au","Chișinău"]
["F\u0019\"aleti","Fălești"]
["Lwówek \u0019\"Ól\u0019\"`ski","Lwówek Śląski"]
["Pozna\u0019\"ì","Poznań"]
["Wroc\u0019\"naw","Wrocław"]
["Zal\u0019\"au","Zalău"]
["\u0019\"Ca\u0019\"cak","Čačak"]
["Lu\u0019\"cenec","Lučenec"]
["\u0019\"Ô\u0019\"ürnak","Şırnak"]
["\u0019\"ßstanbul","Istambul"]
["\u0019\"ßzmir","Izmir"]