Hei, kuinka Excelissä voisi laskea Hetun perusteella iän? Olen käyttänyt komentoa PVMERO.
Ongelmana on kuitenkin tuo, että hetu pitäisi saada muodosta 010182-12AB muotoon 01.01.1982. Lisäksi, miten lasku tapahtuu, kun kyseessä on 2000 -luvulla syntynyt? tällöin pitäisi saada 010101A12AB -> 01.01.2001 -muotoon.
Iän laskeminen HETU:n perusteella?
19
8077
Vastaukset
- paavali50
Solussa A1 HETU
Jos haluat iän vuosina kaava
=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");""))
Jos haluat iän päivinä kaava
=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");""))
Elikkä POIMI.TEKSTI funktiolla testataan onko seitsemäs merkki - vai A.
PÄIVÄYS funktiolla muutetaan päivämääräksi, jota käytetään aloituspäivänä ja NYT() funktio toimii lopetuspäivänä.- Utelias
Entäpä ennen 1.1.1900 syntyneet, execelin ajanlaskuhan alkaa vasta 1900 luvun alusta.
Seitsemäs merkkihän on jos henkilö on syntynyt 1800 luvulla.
Onnistuuko laskekeminen jos hetu on
170496 034h - paavali50
Utelias kirjoitti:
Entäpä ennen 1.1.1900 syntyneet, execelin ajanlaskuhan alkaa vasta 1900 luvun alusta.
Seitsemäs merkkihän on jos henkilö on syntynyt 1800 luvulla.
Onnistuuko laskekeminen jos hetu on
170496 034hExcel ei osaa suoraan laskea ennen 1.1.1900 syntyneiden ikää, mutta 1800 luvulla syntyneiden ikä saadaan kun tehdään JOS kaava joka laskee syntymäajan 1900luvulle ja lisää NYT() päivään sata vuotta(36525 päivää) mikäli seitsemäs merkki on .
Kaava vuosina
=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");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() 36525;"y");"")))
päivinä
=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");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() 36525;"d");""))) - Utelias
paavali50 kirjoitti:
Excel ei osaa suoraan laskea ennen 1.1.1900 syntyneiden ikää, mutta 1800 luvulla syntyneiden ikä saadaan kun tehdään JOS kaava joka laskee syntymäajan 1900luvulle ja lisää NYT() päivään sata vuotta(36525 päivää) mikäli seitsemäs merkki on .
Kaava vuosina
=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");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() 36525;"y");"")))
päivinä
=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");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() 36525;"d");"")))Noinhan se onnistuu
- Tinna82
Hetun perusteella sukupuli määritellään loppuosan kolmen ensimmäisen numeron perusteella, jos numerosarja (esim hetussa 000000-453X numero 453) on parillinen, kyseessä nainen, parittomilla sarjoilla mies.
Sukupuoli pystytään tunnistaan excelissä mm. näin, kun laittaa moneen soluun tavaraa:
A1 =000000-453w
B1 =POIMI.TEKSTI(A1;8;3)/2
C1 =OIKEA(A2;2)
D1 =POIMI.TEKSTI(C1;1;1)
E1 =JOS(LASKE.JOS(D1;"*,*");"mies";"nainen")
Mutta, kuinka saan tuon kaiken laitettua yhdeksi kaavaksi? (tai vielä yksinkertaisemmin)- tämä ?
=IF(ISODD(LEFT(RIGHT(A1;4);3));"mies";"nainen")
JOS(ONPARITON(VASEN(OIKEA(A1;4);3));"mies";"nainen") - ei toimi.
tämä ? kirjoitti:
=IF(ISODD(LEFT(RIGHT(A1;4);3));"mies";"nainen")
JOS(ONPARITON(VASEN(OIKEA(A1;4);3));"mies";"nainen")Ei valitetavasti toimi, tuo ISODD / ONPARITON -ei tunnu toimivan..
- Tinna82
ei toimi. kirjoitti:
Ei valitetavasti toimi, tuo ISODD / ONPARITON -ei tunnu toimivan..
Ilmeisesti tämä ei toimi 2002 excelissä..
kokeilen johonkin soluun kaavaa =PARITON(5) palauttaa arvon #nimi - paavali50
Tinna82 kirjoitti:
Ilmeisesti tämä ei toimi 2002 excelissä..
kokeilen johonkin soluun kaavaa =PARITON(5) palauttaa arvon #nimiJos analyysityökalut ei ole käytössä ONPARITON funktio ei toimi.
Työkalut -> Apuohjelmat -> täppä kohtaan Analyysitökalut ja OK.
Älä sekoita
=PARITON ja =ONPARITON funktioita
- eno2
Joskus takavuosina virittelin tälläisen käyttäjän funktion iän laskemiseen - paha kyllä ei ole pahemmin kommentteja mutta kyllähän tuo kai selviää.
'*********iän lasku
Function laske_synt(hetu, tapvm)
Dim svv, skk, spv, tvv, tkk, tpv, oletus, ika
svv = "19" & Mid(hetu, 5, 2)
skk = Mid(hetu, 3, 2)
spv = Mid(hetu, 1, 2)
tvv = "20" & Mid(tapvm, 9, 2)
tkk = Mid(tapvm, 4, 2)
tpv = Mid(tapvm, 1, 2)
oletus = tvv - svv
ika = tvv - svv
If skk < tkk Then
ElseIf skk = tkk And spv > tpv Then
oletus = ika - 1
ElseIf skk > tkk Then
oletus = ika - 1
Else: oletus = ika
End If
laske_synt = oletus
End Function
'*********
tämä kyselee, missä hetu on ja päivämäärä, minkä mukaan lasku tapahtuu (täytyy olla muodossa 01.01.2006)- Jaames
Muutaman vuoden myöhässä näin töistä kiitokset Paavali50:lle :)
- speksaaja
Kiitos Paavali50, lopputyöni edistyi avullasi kukonaskeleen verran!
terv. opiskelija - Tommi55
Tuossapa paranneltu classic asp koodi versio
joka tsekkaa hetun ja syötetyn päivämäärän pituuden.
Myös erotinmerkille tehty tarkastus mukana.
Function CalculateAge(hetu, tapvm)
Dim yearPrefix
Dim svv, skk, spv, tvv, tkk, tpv, oletus, ika
If Len(Trim(hetu)) = 11 And Len(Trim(tapvm)) = 10 Then
yearPrefix = Mid(hetu, 7, 1)
'response.write yearPrefix
'response.end
If yearPrefix = "A" Then
yearPrefix = "20"
ElseIf yearPrefix = "-" Then
yearPrefix = 19
Else
yearPrefix = "?"
End If
If yearPrefix "?" Then
svv = yearPrefix & Mid(hetu, 5, 2)
skk = Mid(hetu, 3, 2)
spv = Mid(hetu, 1, 2)
tvv = "20" & Mid(tapvm, 9, 2)
tkk = Mid(tapvm, 4, 2)
tpv = Mid(tapvm, 1, 2)
oletus = tvv - svv
ika = tvv - svv
If skk < tkk Then
ElseIf skk = tkk And spv > tpv Then
oletus = ika - 1
ElseIf skk > tkk Then
oletus = ika - 1
Else: oletus = ika
End If
CalculateAge = oletus
Else
CalculateAge = "?"
End If
Else
CalculateAge = "?"
End IF
End Function - Anonyymi
Syntynyt 5.1.1879
Kuollut21.4.1962
Miten lasketaan ikä exelillä?- Anonyymi
Riippuu siitä kuka on kuollut.
- Anonyymi
Isompi luku miinus pienempi luku.
- Anonyymi
Ei onnistu suoraan lasku, jos on syntynyt ennen 1.1.1900. Tukisivulla koodi jolla onnistuu (suomenkielinen).
https://docs.microsoft.com/fi-fi/office/troubleshoot/excel/calculate-age-before-1-1-1900 - Anonyymi
Anonyymi kirjoitti:
Ei onnistu suoraan lasku, jos on syntynyt ennen 1.1.1900. Tukisivulla koodi jolla onnistuu (suomenkielinen).
https://docs.microsoft.com/fi-fi/office/troubleshoot/excel/calculate-age-before-1-1-1900Ikähän ilmoitetaan vuosissa, joten riittävään tarkkuuteen pääsee vähentämällä vuosiluvut toisistaan.
- Anonyymi
Helppo homma, kerron joskus.
Ketjusta on poistettu 1 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Olet taitava
monessa asiassa. Myös siinä, miten veit sydämeni. Äkkiarvaamatta, pikkuhiljaa. Yhtäkkiä huomasin että minusta puuttuu jo768502Sinällään hauska miten jostakin
jaksetaan juoruta vaikka mitä. Jakorasia yms. Raukkamaista toimintaa. Annetaan jokaisen elää rauhassa eikä levitellä per593271- 382614
Miten voit manipuloida katsojalukuja?
Palstatrolli ja väsynyttä sontaa palstalle suoltava Varmakkakkiainen on viime aikoina vedonnot siihen, että hänen ketjuj182185- 272171
Osuuspankki Kuhmo!
Ei pysty pitämään yhtä Otto pankkiautomaattia toiminnassa Ksupermarketin kanssa,20 vuotta sitten Kuhmossa oli neljä auto362159- 131917
Rakkaalleni!
Halusin tulla kertomaan, että sinua ajattelen ja ikävöin vaikka olen sukuloimassa. Meinasin herkistyä, kun tykkään sinus151723- 661686
- 181619