Solun tekstitiedosta laskeminen

Peettu

Solu sisältää tekstiä, joka koostuu etunimestä, sukunimestä ja syntymävuodesta. Samassa solussa voi olla kymmeniä nimiä syntymävuosineen. Välillä tiedot on eroteltu pilkulla, useimmiten on vain tyhjä väli. Syntymä vuosi on välillä ilmoitettu kokonaisena, välillä taas vain viimeiset kaksinumeroa.
Esim: Minna Marjanen 2001, Eveliina Erämetsä 1999,........
Esim: Minna Marjanen 2001 Eveliina Erämetsä 1999.....
Esim: Minna Marjanen -01 Eveliina Erämetsä -99....

Voiko jollain kaavalla laskea montako nimeä solu sisältää? Näitä soluja on niin hervottomasti ja rimpsut on pitkiä, että on vaikea yksittäin laskea.

5

111

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Tämmöinen

      Seuraava makrofunktio kasvattaa laskuria aina kun tulee uusi numero:

      Function lkm(s As String) As Integer                                                                           numero = False                                                                                                          n = 0                                                                                                                           For i = 0 to Len(s)                                                                                                         If Mid(s, i, 1) >= "0" And Mid(s, i, 1) <= "9" Then                                                     If Not numero Then                                                                                                      n = n   1                                                                                                                     numero = True                                                                                                         End If                                                                                                                      Else                                                                                                                               numero = False                                                                                                       End If                                                                                                                      Next i                                                                                                                          lkm = n                                                                                                                    End Function

      • Tämmöinen

        Piti olla: For i = 1 to Len(s)


      • Peettu

        En osaa tuota käyttää. Mihin se laitetaan?
        Nyt tuli vielä uusi vaihtoehtokin niin, että onkin kolme nimeä ja sitten niillä yhteinen syntymä aika.


      • Tämmöinen
        Peettu kirjoitti:

        En osaa tuota käyttää. Mihin se laitetaan?
        Nyt tuli vielä uusi vaihtoehtokin niin, että onkin kolme nimeä ja sitten niillä yhteinen syntymä aika.

        Kopioi tekemäni funktio tuosta ylhäältä leikepöydälle. Paina Excelissä hiiren oikealla ruudun alaosassa sivunvalinnasta sivun nimeä (Sheet1) ja sieltä View Code. (Aukeaa VBA.) Valitse tuon ikkunan yläosasta Insert ja sieltä Module. (Syntyy uusi moduli Module1.) Liimaa funktio luomaasi siihen. Suomennetussa Excelissä nimet ovat jotain ihan muuta, mutta tuon mukaan selvinnet.

        Jos haluat tietää solussa A1 olevien nimien lukumäärän, kirjoita =lkm(A1)

        Makroja sisältävä tiedosto on talletettava muodossa *xlsm.

        Funktio lkm laskee solussa olevat syntymäajat (=luvut). Se ei tarkista niiden oikeellisuutta, onko sama nimi useampaan kertaan, tai onko lukujen välissä nimeä ensinkään.


      • Peettu

        Kiitos. Nythän se toimii. Ja helpottaa.


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. IL - PerSut tykittää - Vaaralliset tappajat vankilaan jopa loppuelämäksi!!

      Entistä rajumpi elinkautinen tulee – Vaaralliset tappajat vankilaan jopa loppuelämäksi Henkirikosten uusijat voidaan ja
      Maailman menoa
      173
      22279
    2. Some kuhisee Sanna Marinista: "Wau"

      Sanna Marinia hehkutetaan. Muun muassa Jodelissa kommentoidaan The Sunday Timesin julkaisemaa kuvaa Marinista. Hän ant
      Maailman menoa
      74
      9496
    3. Sannalla tänään vuorossa The Daily Show

      Eli nyt mennään jo satiirin puolelle. Tuohan on vähän kuten Lindströmin ohjelma Suomessa.
      Maailman menoa
      29
      7480
    4. Äärioikeistopurran nukke Petteri Lapanen paniikissa

      Kun Suomen historian paras pääministeri antoi vankan lausunnon, kuinka "keskustelu politiikassa on käpertynyt lähinnä va
      Maailman menoa
      80
      6325
    5. SIELTÄ SE TULI: Kepu-Kurvinen: "Emme enää lähde punavihreään hallitukseen"

      Nyt muuten nauretaan loppuviikko, että tähänkö kaatui Lindtmanin pääministerihaaveet. "Antti Kurvisen mukaan puolue ei
      Maailman menoa
      182
      5960
    6. Täysi ryöpytys Sanna Marinille ulkomailla.

      https://www.iltalehti.fi/ulkomaat/a/f699d84f-fa53-4dba-8718-2c395017fc55 Sanna Marinin kirja saa todella tylyn vastaanot
      Maailman menoa
      34
      4966
    7. HS - Sanna Marinin kirja on priimaluokan vedätys!

      Kirja-arvio|Toivo on tekoja tulisi ensisijaisesti nähdä maineen rahallisen hyödyntämisen voimaannuttavana merkkipaaluna.
      Maailman menoa
      108
      4620
    8. Minja Koskelan "istumista" kertovassa uutisessa ei sanottu persuista mitään

      eli jälleen kerran äärivasemmistolainen valehtelee, hän kun väittää että juuri persut ovat lähetelleet Koskelalle vähemm
      Maailman menoa
      101
      4386
    9. Pekka Visuri: "Suomen on aika irrottautua Ukrainan sodasta"

      Slava Ukraina-mölinät eivät enää auta. Ukraina on sotansa hävinnyt. Nyt tarvitaan poliittista selvänäköisyyttä, reaalipo
      Maailman menoa
      87
      2060
    10. Marin vetäs lopullisesti maton alta hallitusyhteistyöltä Kepun kanssa

      Kurvinen on jo ennättänyt kommentoimaan, ettei Kepu ole koskaan enää kiinnostunut vasemmiston kanssa hallituspaikasta, k
      Maailman menoa
      80
      1355
    Aihe