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

  • Mutt

    senior tag

    válasz Zola007 #54862 üzenetére

    Szia,

    Excel 2016-ban van Power Query (PQ) Adatok fülön adatok beolvasása táblázatból.
    Ezzel megnyílik a PQ szerkesztő, ahol 2 dolgot fogunk csinálni.

    1) Létrehozunk egy kulcs mezőt, amely soronként a keresztnevet és a születési dátum év+hónap részét kirakjuk egy új oszlopba.
    2) Csoportosítunk az új oszlop alapján és csak azokat tartjuk meg ahol van ismétlés.

    Oszlop hozzáadása fülön egyéni oszlop, ahova ez a képlet:
    =Text.Combine(
        {Text.Middle([Név], Text.PositionOf([Név]," ")+1, 100),
         DateTime.ToText([Születési idő], [Format="yyyyMM"])},     "|")
    Ezt lehetne több lépésben is csinálni, de én most összevontam két dolgot:
    a) a Text.PositifonOf-al megkeressük az első szóközt és a Név oszlopban és attól a pozíciótól kezdődően kimásoljuk a szöveget.
    b) a Születési idő oszlopban lévő dátumból csak az év és hónapot tartjuk meg.
    c) a fenti 2 szöveget a Text.Combine függvénnyel összefűzzük, elválasztónak a pipe karaktert adtam meg.

    Ezek után jöhet az Átalakítás fülön a csoportosítás az előbb létrehozott oszlop alapján (nálam Kulcs a neve). Két dolgot kérünk a csoportosításnál, számolja a sorokat és tárolja kulcsonként az egyező sorokat.

    Ezek után az ismétlés oszlopban az 1-nél nagyobbakra szűrűnk rá.
    Majd az adatok oszlop jobb felső sarkában a kibontásnál megadjuk azon oszlopokat amikre majd szűkségünk van.

    A végén a kezdőlapon válasszuk a visszatöltést munkalapra.

    Akinek van SZŰRŐ/LET függvénye (Office 2021, MS365) azoknak itt van egy képlet:

    =LET(adatok;A2:.D100;
    teljes_nev;OSZLOPVÁLASZTÁS(adatok;1);szuletett;OSZLOPVÁLASZTÁS(adatok;2);
    nev_reszek;HAHIBA(SZÖVEGUTÁNA(teljes_nev;" ");teljes_nev);
    datum;SZÖVEG(szuletett;"ééééhh");
    kulcs;nev_reszek&"|"&datum;
    nem_ismetlodik;EGYEDI(kulcs;;1);
    szuro_feltetel;NEM(SZÁM(XHOL.VAN(kulcs;nem_ismetlodik)));
    SZŰRŐ(adatok;szuro_feltetel;"nincs ismétlődés"))

    Az adatoknál a pont/dot operátor csak MS365-ben van, de le lehet cserélni abszolút hivatkozással. Utána itt is csinálunk egy kulcs oszlopot, ami keresztnevet és születési évet és hónapot tartalmaz.
    Ezek után az EGYEDI függvényt használjuk, de nem a megszokott módon. Alapból az EGYEDI ismétlődés nélkül adja vissza a kapott listát. Ha azonban a 3. feltétellel kérhetjük, hogy csak azokat adja vissza amelyek csak 1x szerepeltek a kapott listában, amik ismétlődnek azok hiányozni fognak az eredményből ("nem_ismetlodik" valtozóba ezt kapom). Összehasonlítva az eredeti kulcs listával (XHOL.VAN) azok amelyek nem ismétlődtek egy helyezési számot kapunk, amik ismétlődtek ott pedig egy #HIÁNYZIK hibaüzenetet. A SZÁM és NEM függvénnyel pont ott lesz majd IGAZ az eredemény, ami nekünk kell. Ezt tudjuk felhasználni a SZŰRŐ függvénnyel.

    üdv

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