Kezdőlap › Fórumok › Excel témák › Két dátum közt eltelt év, hó nap
- This topic has 3 hozzászólás, 3 résztvevő, and was last updated 3 hours, 12 minutes telt el by
verax.
-
SzerzőBejegyzés
-
2025-05-01-21:25 #11361
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/01Ahhoz 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ábor2025-05-02-00:05 #11362Szia!
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
2025-05-02-12:04 #11363Kedves Imre,
Nagyon köszönöm a segítséget.
Üdv Gábor2025-05-02-14:34 #11365Sziasztok!
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.04Ha 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: 29707Ha 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 -
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.