Solun sanojen lukumäärän laskeminen

Petexcel

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

10

263

    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. Pystyisitkö pitämään

      Näppejä erossa jos tulisi siihen tilaisuus
      Ikävä
      68
      6822
    2. Yritystuet 10 mrd. vuodessa, eli yrittäjäriski valtiolla kuten kommunismissa

      Pelkästään Viking Linen viinanhakuristeilyitä sponsoroidaan 20 miljoonalla eurolla vuosittain. Dieselin verotukikin on
      Yrittäjyys
      63
      6793
    3. Sture Fjäder haluaa tuensaajien nimet julki

      Kokoomuspoliitikko haluaa yli 800 euroa kuukaudessa tukia saavien nimet julki. Ehkä olisi syytä julkaista myös kuvat? h
      Maailman menoa
      148
      5456
    4. Luotathan siihen tunteeseen, joka välillämme on?

      Uskothan myös, että se kestää tämän? Kaipaan sinua valtavasti. Vielä tehdään yhdessä tästä jotain ihmeellistä ja kaunist
      Ikävä
      50
      4493
    5. En saa sua mielestäni vaikka tekisin mitä

      Mikä tähän auttaa.. ei mikään. Edes aika. Kaivan sut kohta vaikka kivenkolosta että saan kysyä haluatko sinäkin💛
      Ikävä
      20
      4089
    6. Onnettomuus

      Hukkajärventiellä kolaroi lavetti ja henkilöauto. Uutista ei missään! Hys hys ollaanko hiljaa tästäkin?
      Kuhmo
      5
      3660
    7. Milloin viimeksi näit kaivattusi?

      Toimisitko nyt toisin kuin siinä tilanteessa teit?
      Ikävä
      37
      3248
    8. Tuntuuko ettet tiedä

      Enää miten toimia mun suhteen. Kun en taida tietää itsekään
      Ikävä
      28
      3173
    9. Maahanmuuttajat torjuvat marjanpoiminnan - "emme ole rottia"

      Ruotsalaisen journalistin selvitys paljasti, miksi maahanmuuttajat kieltäytyvät työstä. Taustalla vaikuttavat kulttuuris
      Maailman menoa
      75
      2779
    10. Köysi alkaa kiristyä putinin kaulalla....

      Putin pelkää eniten juuri omaa porukkaansa, ja siihen on varmasti syytä kun sota ei ole mennyt hyvin, tappiot ovat valta
      Maailman menoa
      40
      2259
    Aihe