Telefonszámunk: 1-472-0679

Két dátum közt eltelt év, hó nap

Kezdőlap Fórumok Excel témák Két dátum közt eltelt év, hó nap

4 bejegyzés megtekintése - 1-4 / 4
  • Szerző
    Bejegyzés
  • #11361
    Gabo
    Felhasználó

      Sziasztok,

      Van két cellám, melyben egy-egy dátum található
      Cella típusa: szöveg, formátuma: év.hó.nap
      Legkisebb dátum: 1600.01.01
      Pl.:
      A2 cella tartalma: 1756.12.03
      B2 cella tartalma: 1838.04.04
      C2 cella tartalma: a két dátum különbsége év/hó/nap formátumban pl.: 81/04/01

      Ahhoz kérném segítségeteket, hogy miképp lehetne kiszámítani, hogy A2 és B2 dátum között pontosan hány év, hónap, nap telt el.
      Az eredmény (a példa szerint) a C2 cellában jelenjen meg.

      Előre is köszönöm a segítséget.
      Köszönettel: Gábor

      #11362
      horvimi
      Adminisztrátor

        Szia!

        Az 1900-nál korábbi dátumoknál az a szokásos trükk, hogy 1900-nál későbbi dátummá kell alakítani őket. Így már a szokásos dátumfüggvényekkel lehet velük dolgozni.
        Ezt úgy csináljuk, hogy hozzáadunk annyi évet, amennyivel már biztosan 1900-nál későbbi lesz. Konkrétabban a DÁTUM függvényt lehet alkalmazni. Ez három paramétert vár (év, hónap, nap) és ezekből egy valódi dátumsorszámot készít.

        Példa
        Tegyük fel, hogy az A1-ben van egy 1782.12.03 dátumod, ami így természetesen szöveg. Az év része az első 4 karaktere, ami a BAL függvénnyel kivehető. A hónap és a nap része pedig a KÖZÉP, illetve a JOBB függvényekkel nyerhető ki. Ha 200 évet hozzáadsz, akkor már 1900 utáni dátum lesz. Tehát a B2-be mehet ez a képlet:

        =DÁTUM(BAL(A1;4)+200;KÖZÉP(A1;6;2);JOBB(A1;2))

        Régi dátumok különbsége
        Itt elsőként mindkét dátumhoz ugyanannyi évet kell hozzáadni úgy, hogy 1900 utánra essen mindkettő, így a különbségük ugyanannyi lesz, mint az eredetiknek. Mivel neked a legkisebb dátum 1600.01.01, így 400 év pont megfelelő lesz.
        A1-be tettem a kisebb régi dátumot, B1-be a nagyobbat. Ezután mindkettőhöz hozzáadtam 400 évet a C1-be és a D1-be a fenti példa szerint. Ezzel előállt két rendes dátumom.

        DÁTUMTÓLIG függvény
        Van az Excelben egy nem dokumentált függvény, ami dátumok különbségét tudja kiszámolni. Magyarul DÁTUMTÓLIG, angolul DATEDIF.
        Általános használata:
        =DÁTUMTÓLIG(kisebb dátum; Nagyobb dátum; "mértékegység")

        A mértékegység lehet „y”, „m”, „d”, azaz év, vagy hónap vagy nap, amiben megkapjuk a különbséget.
        Ha az év részt nem akarom nézni, csak a hónapokat, akkor „ym”, ha az évet és a hónapokat akarom kihagyni és csak a napok különbsége kell, akkor „md”.
        Neked pontosan ezekre van szükséged. Az E1-be mehet ez a képlet:

        =DÁTUMTÓLIG(C1;D1;"y")&"/"&DÁTUMTÓLIG(C1;D1;"ym")&"/"&DÁTUMTÓLIG(C1;D1;"md")

        Ha nagyon akarod, akkor a C1 és a D1 hivatkozások helyére behelyettesítheted az azokban lévő képletet, de én ezt meggondolnám, mert akkor ezt 3x kell megcsinálni mindkettőnél és a képlet meglehetősen hosszú és nehezen átlátható, illetve karbantartható lesz.

        Imre

        #11363
        Gabo
        Felhasználó

          Kedves Imre,
          Nagyon köszönöm a segítséget.
          Üdv Gábor

          #11365
          verax
          Felhasználó

            Sziasztok!
            A probléma megoldásának első lépéseként javasolt „Ezt úgy csináljuk, hogy hozzáadunk annyi évet, amennyivel már biztosan 1900-nál későbbi lesz” eljárást pontosítanám.
            Magyarországon 1588. január 28. óta alkalmazzák a mai napon is használatos Gergely-naptárat. Vedd tehát figyelembe a Gergely-naptárnak a julián naptár pontatlanságát korrigáló rendelkezését! A maradék nélkül 100-zal igen, de 400-zal nem osztható évek nem szökőévek. Sem 1700, sem 1800, sem 1900 nem volt szökőév. E miatt k×400 évet adj hozzá az eredeti dátumodhoz!

            Pl.:
            A2 cella tartalma: 1756.12.03
            B2 cella tartalma: 1838.04.04

            Ha csupán 200 évet adsz a dátumokhoz:
            A2 cella tartalma: 1956.12.03
            B2 cella tartalma: 2038.04.04
            A két dátum között eltelt napok száma: 29707

            Ha viszont 400 évet adsz a dátumokhoz:
            A2 cella tartalma: 2156.12.03
            B2 cella tartalma: 2238.04.04
            A két dátum között eltelt napok száma: 29706

            Üdvözlettel
            verax

          4 bejegyzés megtekintése - 1-4 / 4
          • Be kell jelentkezni a hozzászóláshoz.