Solun sanojen lukumäärän laskeminen

Petexcel

Kuinka saadaan laskettua yhden solun sanojen lukumäärä, jotka on erotettu pilkulla tai tietyllä muulla merkillä?

10

256

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • =LEN(TRIM(A1))-LEN(SUBSTITUTE(A1;" ";"")) 1
      mutta tulos voi heittää, koska ylimääräiset/ puutuvat välilyönit vaikeuttaa tilannetta(mm. tupla välilyönti ennen pilkkua.)
      Toki voishan sitä monsterikaavaa vääntää, mutta siististi ja varmasti VBA:lla

      soluun kaava =sanojenlkm(A1;","), missä A1 solu ja "," erotin

      moduuliin...

      Function SanojenLkm(Solu As Range, Erotin As String) As Integer
      SanojenLkm = UBound(Split(Solu, Erotin)) 1
      End Function

      Keep EXCELing
      @Kunde

      • Petexcel

        VBA toimii juuri kuten tarvitsin, kiitos!


    • 35

      er

      • Petexcel

        Juuri kun pääsin...

        eli ongelma jatkuu. Excel -03 homma toimii, mutta kun yritin töissä Excel 2000:ssa, palautuu virhe #NIMI?

        kaava taulukossa: =JOS(I6="ha";SUMMA(0,46 0,03*sanojenlkm(G6;",") );"")

        sama virhe palautuu kokeiltaessa yksinkertaista : =sanojenlkm(G6;",")

        Moduulissa on kunden koodi ja solussa G6 on nimiluettelo pilkuin erotettuna..


    • jos oikein muistelen, niin toi SPLIT funtio tuli vasta 2003 versioon...
      eli ei toimi sitten 2000 versiossa ja vaatii toisenlaisen lähestymistavan

    • Petexcel

      Ok, kiitos kunde ja jos keksit jipon 2k versioon niin tupla kiitos :)

      • kyllä se SPLIT sittenkin esiteltiin jo 2000 versiossa...

        kokeilesvielä tällä toimiiko se. Eli pitäisi palauttaa sanojen lkm solusta G6

        Sub koe1()
        MsgBox UBound(Split(Range("G6"), ",")) 1
        End Sub

        en tiedä toimisko tämmönen sitten tämmönen "kikka kolmonen", että kopioit sen 2003 version EXCEL.EXE jonnekin kansioon siellä duunissa ja lisäät sitten VBA puolella referenssin siihen... ja sitten kokeilet uudelleen funktiota?


      • kunde kirjoitti:

        kyllä se SPLIT sittenkin esiteltiin jo 2000 versiossa...

        kokeilesvielä tällä toimiiko se. Eli pitäisi palauttaa sanojen lkm solusta G6

        Sub koe1()
        MsgBox UBound(Split(Range("G6"), ",")) 1
        End Sub

        en tiedä toimisko tämmönen sitten tämmönen "kikka kolmonen", että kopioit sen 2003 version EXCEL.EXE jonnekin kansioon siellä duunissa ja lisäät sitten VBA puolella referenssin siihen... ja sitten kokeilet uudelleen funktiota?

        kokeile tätäkin...

        Sub koe2()
        MsgBox UBound(Split(Range("G6"), Chr(44))) 1
        End Sub
        jos ei näillä pelitä sitten toisella tapaa...
        nyt täällä paikallinen uusivuosi joten menee sitten ensiviikkoon vastaukset...


      • kunde kirjoitti:

        kokeile tätäkin...

        Sub koe2()
        MsgBox UBound(Split(Range("G6"), Chr(44))) 1
        End Sub
        jos ei näillä pelitä sitten toisella tapaa...
        nyt täällä paikallinen uusivuosi joten menee sitten ensiviikkoon vastaukset...

        vielä yksi tarkistuspaikka
        Referenssit ja jos jossakin teksti Missing niin lisää se sitten
        Eihän siellä ole enkkuversio? Joten kaavassa oleva erotin ; pitäisi olla , ???

        no paikallista Hyvää Uutta Vuotta sitten ( 3. Uusi Vuosi jo tälle vuodelle...) olispas nää muutkit juhlat sitten aina kolmena kappaleena... ;-)


    • Petexcel

      Duuniversio on suomi. Koe1/2 palauttaa virheen #NIMI?. Varmuudeksi, riittääkö soluun aliohjelmakutsu: =koe1 tai =koe2?
      Tsekkasin VB:n puolella Tools/References (onko oikea paikka?), ei näkynyt Missing. Siellä täpättynä VB for Applications, MS Excel 9.0 Object Library, OLE Automation, MS Office 9.0 Object Library. Nimim. pihalla :)

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

    Luetuimmat keskustelut

    1. Janni Tikkanen ohjattiin miesten pukuhuoneeseen

      Vai olisko sittenkin Janne Tikkanen? Jos siellä jalkojen välissä on miesten killukkeet, mieshän tämä Janni on. Ja kuuluu
      Kajaani
      80
      1866
    2. Olet nuorempi nainen aivan ihana

      Tykkään susta ihan valtavasti ❤️❤️
      Ikävä
      59
      1758
    3. Keskisarja loisti A-studiossa, vauhkoontunut Sofia Virta munasi itsensä

      Keskisarja taas puhui 100% faktaa maahanmuuttoon liittyen. Kokoomuksen Kaumalta tuli pari hyvää puheenvuoroa, joskin muu
      Maailman menoa
      353
      1592
    4. Pitkäaikaistyöttömyys Suomessa harvinaisen paha

      Karut työttömyysluvut, korkein luku yli neljännesvuosisataan.
      Maailman menoa
      169
      1443
    5. Tiedän ettet tehnyt tahallasi pahaa

      Asiat tapahtuivat, ristiriidat ovat meitä vahvempia. Olemmeko me niin vahvoja, että selviämme tästäkin vielä? Aika paljo
      Ikävä
      110
      1320
    6. Mitä vastaisit

      Jos kysyisin, että lähdettäisiinkö lenkille yhdessä? Vain sinä ja minä, kaksin? Miehelle
      Ikävä
      67
      1310
    7. Rakastan ja ikävöin sinua

      Ei helpota tämä ikävä millään. Pelkäsin että tämä ajanjakso tulee olemaan juuri näin vaikea. Siksi halusin ennen tätä pä
      Ikävä
      69
      1207
    8. Vihjeketju naisille

      Kirjoita tähän vihjeesi kaivatullesi.
      Ikävä
      62
      1133
    9. KIIKKUSTUOLI

      Aloitetaan taas uudella alustalla, nuo pitkiksi venyneet ovat hankalia etsiä uusia viestejä, joskus vastauksia tulee sin
      80 plus
      100
      1077
    10. Kuljettajasi oy konkurssi?!

      Tuliko ahnehdittua liikaa,menikö tämä kuljettajasi oy taksit siis konkurssiin?
      Iisalmi
      14
      1035
    Aihe