Hirdetés

Keresés

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

  • Mutt

    senior tag

    válasz PeLa87 #42228 üzenetére

    Szia,

    ... a főlapom, meg lehetne valahogy jeleníteni, hogy azon a napon van-e valakinek születésnapja?

    Makró és segédoszlop nélkül az Excel 2010-től használható Power Query tud megoldás lenni.

    Magyar olimpikonok listájából csináltam egy ilyen fájlt:

    Van benne egy Fő lap és 12 hónap adatát tartalmazó lap, amelyen vannak az adatok (azonos fejléccel és azonos sorrenddel). Ezek után jöhet a Power Query.

    1. Adatok fülön -> Adatok beolvasása -> Fájlból

    2. Kiválasztod a fájlt ami tartalmazza az adatokat.
    3. Jobb klikk a fájlnéven (esetemben Olimpikonok.xlsx) és Szerkesztés

    4. Első lépésként szűréssel zárjuk ki az első lapot, ahova az eredményt akarjuk megjeleníteni. Esetemben a Fő nevű munkalapot dobjuk.

    5. Csak a Data oszlopra lesz szükségünk, ezt jelöld ki és a fejlécen jobb klikk után a többi oszlop tőrlése kell.

    6. A megmaradt oszlop jobb felső sarkába kattints és válaszd a kibontást.

    7. Hozzunk létre egy normális fejlécet, erre a legegyszerűbb megoldás az Átalakítás -> Első sor használata fejlcéként.

    8. Mivel minden lapon volt fejlécünk ezért az adatok között nem csak a neveket/dátumokat, hanem a többi lapon ismétlődő fejléceket is látjuk ezt szűréssel vegyük ki.

    9. Érdemes a megmaradt oszlopok formátumát beállítani. A születési dátum legyen tényleg dátum, a kor pedig szám. Jelöld ki az oszlopot és az Átalakítás fülön válaszd ki a megfelelő Adattípust. pl. születési dátumhoz a dátum legyen.

    10. Kell egy új oszlop, amelybe megnézzük hogy melyik dátum napja azonos az aktuális nappal.
    Oszlop hozzáadása -> Egyéni oszlopot használd. A képlet pedig ez legyen:
    =Date.Day([Születési Idő])=Date.Day(DateTime.LocalNow())


    11. Ebben az oszlopban a TRUE értékekre szürjél rá.
    12. Utánna törölhet jobb klikkel ez az oszlop.
    13. Kezdőlap -> Bezárás és betöltés -> .. adott helyre opció kell.

    14. Válaszd a Kimutatás opciót és a fő lapot. Tervezd meg a Kimutatásodat ahogy neked tetszik.
    15. A kimutatás beállításainál válaszd az automatikus frissítést megnyitáskort.

    üdv

  • Fferi50

    Topikgazda

    válasz PeLa87 #42228 üzenetére

    Szia!
    Makró nélkül is megy, ha minden hónapba beteszel egy segédoszlopot. A képlet attól függ még, hogy a hónapok neve milyen módon szerepel.
    Feltételeztem, hogy a hónapok teljes neve a lapok neve is. Ha nem így van, azt hiszem át tudod nevezni. A rövidített nevekkel ennél bonyolultabb a képlet.
    Továbbá azt feltételeztem, hogy a nevek az A, a születési dátumok a B, az életkor a C oszlopban van. A segédoszlopot az E oszlopba tettem minden munkalapon.
    A fő lapon az első sor lehet fejléc.
    Akkor az A2 cella képlete (az első születésnapos neve):
    =INDEX(INDIREKT(SZÖVEG(MA();"hhhh") &"!A1:C100");HOL.VAN(NAP(MA());INDIREKT(SZÖVEG(MA();"hhhh") & "!E1:E100");0);1)

    A B2 cella képlete (az életkora):
    =INDEX(INDIREKT(SZÖVEG(MA();"hhhh") &"!A1:C100");HOL.VAN(NAP(MA());INDIREKT(SZÖVEG(MA();"hhhh") & "!E1:E100");0);1)

    Az A3 cella képlete (a következő születésnapos neve):
    =INDEX(INDIREKT(SZÖVEG(MA();"hhhh") &"!A1:C100");HOL.VAN(A2;INDIREKT(SZÖVEG(MA();"hhhh") & "!A1:A100");0)+1;1)

    A B3 cella képlete (a következő születésnapos életkora):
    =INDEX(INDIREKT(SZÖVEG(MA();"hhhh") &"!A1:C100");HOL.VAN(A2;INDIREKT(SZÖVEG(MA();"hhhh") & "!A1:A100");0)+1;3)

    Ez a két képlet húzható lefelé. Amennyiben már nincs több születésnapos, akkor Hibaértéket fogsz kapni. Ennek elkerülésére az egészet beágyazhatod egy HAHIBA függvénybe.
    Akkor is hibát kapsz az első sorba, ha nincs születésnapos, szintén HAHIBA függvénnyel kezelhető, hogy pl. azt írja ki, hogy nincs születésnapos ma.
    A hibakezeléseket rád bízom.
    A MA() függvények "köszönhetően" minden nap aktuális lesz az érték.

    Üdv.

  • Delila_1

    veterán

    válasz PeLa87 #42228 üzenetére

    Makróval oldható meg. Csak tömörítve fogadja el a data.hu a fájlt. Kibontod, és működik.
     [link] 

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