Osaisiko joku kirjoittaa kaavan, jolla saan muunnettua suomalaisen henkilötunnuksen syntymäajaksi eli esim. hetu 080381-308T muotoon 08.03.1981. Makrolla tehden on vähän raskas homma.
Ja sitten vielä kaava, joka laskisi henkilötunnuksen loppuosasta sukupuolen ja merkkaisi sen omaan sarakkeeseen MIES tai NAINEN. Sukupuolitietohan on yksilönumerossa, jotka ovat henkilötunnuksen loppuosan kolme ensimmäistä merkkiä. Viimeinen merkki on tarkistusmerkki. Esimerkissäni henkilö on siis nainen = 308.
Henkilötunnus syntymäajaksi
7
7507
Vastaukset
- vois käyttää
ainakin Even ja Odd toimintoja, Even eli parillinen luku (sukupuoli = nainen), Odd eli pariton luku (sukupuoli = mies).
Siinä vaan sitten pitää jotenkin saada napsittua hetun loppuosasta se toiseksi viimeinen merkki, eli siis se merkki ennen tarkistusmerkkiä.
Sitä en tiedä miten sen voisi tehdä, ehkä basicia käyttäen? Tosin en ole officen basic-variantin kanssa tehnyt koskaan mitään....tavallisessa basic-ohjelmoinnissa sen voisi tehdä niin että
HETU$="080381-308T" ' ensin sijoitetaan HETU-merkkijonoksi
L1=LEN(HETU$) ' mitataan HETU-merkkijonon pituus
Sex$=Right$(HETU$, 2) ' otetaan HETU-merkkijonosta kaksi viimeistä merkkiä ja sijoitetaan SEX-merkkijonoon
Sex$=Left$(Sex$,1) ' napsitaan SEX-merkkijonon joka on 2 merkkiä pitkä, vasemmanpuoleinen merkki joka ilmaisee sukupuolen
S1=CVI(Sex$) ' muunnetaan 1 mrk pitkä merkkijono numeroksi
---
Tuota samaa kaavaa voisi noudattaa myös syntymäajan purkamisessa niin että se...hetkinen...ehkäpä myös Format-käsky voisi tulla kyseeseen. HUOM! Format ei Basic-kielessä tarkoita levyn formatointia vaan merkkijonojen "formatointia" elikkä uudelleen muotoilua! Eli on turhaa kuvitella että Basicin Formatilla pystyisi alustamaan levyjä. :D Format-käskyä voidaan käyttää esim. päivämäärien muotoilussa.
Google selventää tarkemmin kun haet kyseistä käskyä ja laitat hakusanan perään vielä basic- Kvolgins
jotain tuon suuntaista olen yrittänyt vääntää, mutta ei ole oikein onnistunut. Jatkan harjoituksia.
- koetat vaikka
näillä
=LEFT(A1;2)&"."&MID(A1;3;2)&"."&IF(MID(A1;7;1)="-";"19";IF(MID(A1;7;1)=" ";"18";"20"))&MID((A1);5;2)
=IF(ISEVEN(MID(A1;8;3));"Nainen";"Mies")- ei sitten
varmaan toimineet...ei ole kommentteja näkynyt...
- Jani1818
hyvin toimi tuo =IF(ISEVEN(MID(A1;8;3));"Nainen";"Mies"), kiitos!
- Hki_kaupunki
=JOS((ONPARILLINEN(E506))=TOSI;"Nainen";"Mies")
Kaavasta E506 korvataan sillä solulla, jossa hetu on. - aivot_solmussa
Jos joku tätä yrittää tehdä, niin tässä kaava suomenkieliseen:
=JOS(ONPARILLINEN(POIMI.TEKSTI(D1898;8;3));"nainen";"mies")
Tuo D1898 on solu, jossa HETU on.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Orpo räyhää: kansan on muututtava
Orpon mukaan kansa ei elä kokoomuksen kanssa samassa todellisuudessa, ja sen vuoksi kansan on muututtava. Kas kun ei san2512888Muovikassikartelli
Kauppaketjut ovat yhdessä sopineet muovikassin yksikköhinnaksi 59 senttiä. Milloin viranomaiset puuttuvat tähän kartell51620Aidon persun tunnistaa Marinin palvonnasta
Oli kyse sitten Halla-ahosta tai Putinista. Ensimmäisenä aidolle persulle tulee mieleen Marin.21315- 1011174
Nainen, nyt esitän muutaman skenaarion
Asumme yhdessä ja seurustelemme. 1. On ilta ja olet sohvalla makoilemassa ja räpläät kännykkääsi. Makuuhuoneesta kuulu1231151- 701039
Oikea kaste on syntisten kaste
Oikea kaste on syntisten kaste. Vain syntisiä tulee kastaa. Itsensä uskoviksi ja vanhurskaiksi julistaneita ei tule ka581025Kristillinen kaste toimitetaan upottamalla veteen - pään valelukaste ei kelpaa
Kristillinen upotuskaste perustuu juutalaiseen puhdistautumiseen, jossa upottaudutaan veden alle kokonaan. Paavali verta1531022Upotuskaste on raamatullisin kaste
Jokainen raamattua lukenut tietää sen. Päivänselvä asia. Vauvalle annettu kaste ei löydy raamatusta.717937- 135912