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

  • Mutt

    senior tag

    válasz andreas49 #54565 üzenetére

    Szia,

    Visszanézve a problémát a gond, hogy dátumokkal dolgozol, de az eredményed nem dátum, hanem a dátumok különbsége, így a formázás nem biztos hogy jó.

    1) Azonban kipróbálhatod cella vagy SZÖVEG függvényben ezt a formázást: "? ?/365"
    Az eredmény a fenti adatoknál ez lesz: "19 193/365", vagyis 19 év és 193 nap 365-ból.
    Ha zavar a végén a "/365" rész, akkor kell egy hosszabb képlet.

    2) LET-nél szerintem az a gond, hogy az első két sorban olyan változók vannak, amelyeknél a pontos cellákat kell megadnod ahol az adataid vannak. A #hiányzik arra utal, hogy olyan cellákra hivatkozik ahol nincs adat.

    Vagyis ha I2-ben van az 1999/01/01 és a másik dátumot L2 alapján találod meg, akkor így indul a képlet (aláhúzást tettem hogy feltünő legyen):
    =LET(adat1;I2;
    adat2;XKERES(L2;ALAP!$AA:$AA;ALAP!$AF:$AF); ....

    A LET-es képletet ha másolod, akkor a nem fixált cellahivatkozások (ahol nincs dollár jel) módosulnak, ezért célszerű a fixálni amit lehet.
    =LET(adat1;$I2;
    adat2;XKERES($L2;Alap!$AA:$AA;Alap!$AF:$AF);
    atalakit;LAMBDA(x;DÁTUM(BAL(x;4);KÖZÉP(x;5;2);JOBB(x;2)));
    eredmeny;(atalakit(adat1)-atalakit(adat2))/365;
    evek;INT(eredmeny);
    napok;(eredmeny-evek)*365;
    evek&" év"&HA(napok;" "&napok&" nap";""))

    Az újabb Excelben a fenti hosszú képletből csinálhatunk egy saját függvényt a LAMBDA segítségével, ez talán zavaró lehet csak akkor írom ide ha akarod és egyedül nem tudod megcsinálni.

    3) Ha nem akarsz LET-ezni akkor itt a csúnya képlet. 2x számolunk ki mindent, de először csak az éveket tartjuk meg (INT - egészrész), másodiknak pédig a tizedesrészt a napokhoz (MARADÉK). Itt ami még fontos, hogy a szökőévek miatt a 365-ös osztás nem elég pontos, 365.25-el 400 évig jók leszünk.
    =SZÖVEGÖSSZEFŰZÉS(" ";TRUE;INT((DÁTUM(BAL($I2;4);KÖZÉP($I2;5;2);JOBB($I2;2))-DÁTUM(BAL(XKERES(L2;Alap!AA:AA;Alap!AF:AF);4);KÖZÉP(XKERES(L2;Alap!AA:AA;Alap!AF:AF);5;2);JOBB(XKERES(L2;Alap!AA:AA;Alap!AF:AF);2)))/365.25);"év";KEREKÍTÉS(MARADÉK((DÁTUM(BAL($I2;4);KÖZÉP($I2;5;2);JOBB($I2;2))-DÁTUM(BAL(XKERES(L2;Alap!AA:AA;Alap!AF:AF);4);KÖZÉP(XKERES(L2;Alap!AA:AA;Alap!AF:AF);5;2);JOBB(XKERES(L2;Alap!AA:AA;Alap!AF:AF);2)))/365.25;1)*365.25;0);"nap")
    üdv

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