Tämä kysymys on jo täällä ollut, mutta tarkennan vielä.
Miten henkilötunnuksesta lasketaan henkilön ikä että se tule muotoon
x vuotta, x kuukautta, x päivää
Ja jos vielä tarkennetaan, kun laitetaan syntymäkelloaika
x vuotta, x kuukautta, x päivää, x tuntia
Kaava?
Miten henkilötunnuksesta lasketaan henkilön ikä että se tule muotoon
x vuotta, x kuukautta, x päivää
Ja jos vielä tarkennetaan, kun laitetaan syntymäkelloaika
x vuotta, x kuukautta, x päivää, x tuntia
Kaava?
Vastaukset 5
Vanhimmat
Saat tarkentaa vielä lisää. Siis miten nuo ovat listattuja? Samassa solussa? Ja kyseessä on siis henkilöturvatunnus (sotu), mistä pitää ensin erottaa syntymäpäivä erilleen.
Nuo olet varmaankin jo lukenut. Sotu -> kk pp vvvv. Ks. vastaus "koetas vaikka"
http://keskustelu.suomi24.fi/node/5282927#comment-0
LEFT=VASEN
MID=POIMI.TEKSTI
IF=JOS
Päivämäärästä ikä kk pp vvvv
http://keskustelu.suomi24.fi/node/9563643#comment-47408072
Henkilötunnuksesta saat syntymäajan seuraavalla kaavalla.
Henkilötunnus: A1 ja kellonaika: B1
=DATE(IF(MID(A1;7;1)=" ";1800;IF(MID(A1;7;1)="-";1900;2000) MID(A1;5;2));MID(A1;3;2);LEFT(A1;2)) B1
Iän ilmoittamisessa kysymälläsi tavalla ei ole mieltä, koska vuodet ja kuukaudet ovat keskenään eri pituisia.
Joku tuossa sinun kaavassasi "mättää". 1800-luvulla syntynyt saa aina syntymävuodeksi 3700. Ja tuota B1 kaavan lopussa en ymmärrä. Ei tapahdu mitään. Antamassani linkissä oleva kaava antaa oikean vastauksen myös 1800 syntyneelle.
Ja vielä tuohon "ei mitään mieltä", että kaava osaa ottaa huomioon kuukauksien eri pituudet ja ilmoittaa sinulle iän tarkasti muodossa vv kk pp.
Excel ei ymmärrä päiväyksiä ennen 1900-lukua.
Kokeilin näillä kaavoilla
hetu solussa A1
vuotta (solu C1):
=JOS(POIMI.TEKSTI(A1;7;1)="-";PVMERO(PÄIVÄYS(19&POIMI.TEKSTI(A1;5;2);POIMI.TEKSTI(A1;3;2);VASEN(A1;2));NYT();"y");JOS(POIMI.TEKSTI(A1;7;1)="A";PVMERO(PÄIVÄYS(20&POIMI.TEKSTI(A1;5;2);POIMI.TEKSTI(A1;3;2);VASEN(A1;2));NYT();"y");""))
kuukautta (solu D1):
=JOS(POIMI.TEKSTI(A1;7;1)="-";PVMERO(PÄIVÄYS(19&POIMI.TEKSTI(A1;5;2);POIMI.TEKSTI(A1;3;2);VASEN(A1;2));NYT();"m");JOS(POIMI.TEKSTI(A1;7;1)="A";PVMERO(PÄIVÄYS(20&POIMI.TEKSTI(A1;5;2);POIMI.TEKSTI(A1;3;2);VASEN(A1;2));NYT();"m");""))-(C1*12)
päivää (solu E1):
=JOS(POIMI.TEKSTI(A1;7;1)="-";PVMERO(PÄIVÄYS(19&POIMI.TEKSTI(A1;5;2);POIMI.TEKSTI(A1;3;2);VASEN(A1;2));NYT();"d");JOS(POIMI.TEKSTI(A1;7;1)="A";PVMERO(PÄIVÄYS(20&POIMI.TEKSTI(A1;5;2);POIMI.TEKSTI(A1;3;2);VASEN(A1;2));NYT();"d");""))-(C1*365)-(C1/4)-(D1*(365/12))
En tiedä tuleeko päivät ihan täysin oikein riippuen syntymäajasta esim karkausvuonna