poimi.teksti

excel-hevijuuser

Onko mahdollista tehdä funktio, jossa on etsittävä teksti (esim. cm) ja sen EDESSÄ vaihtuva numero (esim. 5cm, 7cm ...). Eli ottaisi huomioon aloitusmerkin edessä olevan merkin? Se kyllä onnistuu, että funktio ottaa huomioon aloitusmerkin jälkeen tulevat merkit.

5

535

    Vastaukset 5

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • muuan_mies2

      Jos tarvitaan vain yksi numero ennen "cm" tekstiä:
      =ARVO(POIMI.TEKSTI(A1;ETSI("cm";A1;1)-1;1))

    • Tämmöinen

      Tämä ei sallii välilyönnit luvun ja yksikön välissä. Pelkkää etumerkkiä ei hyväksytä luvuksi. Desimaalierottimeksi käy sekä pilkku että piste. Niiden lukumäärää ei tarkisteta - toinen pilkku vain katkaisee luvun.

      Function HaeLuku(s As String, y As String)
         
         n = ""
         p = InStr(s, y)
         
         If p > 0 Then

            Do While Mid(s, p - 1, 1) = " "
               p = p - 1
            Loop

            Do
               nyt = Mid(s, p - 1, 1)
               Select Case nyt
                  Case "0" To "9", ".", ","
                     n = nyt n
                     p = p - 1
                  Case " ", "-"
                     n = nyt n
                     Exit Do
                  Case Else
                     Exit Do
               End Select
            Loop
            
         End If
         
         n = WorksheetFunction.Substitute(n, ",", ".")
         If n = "" Or n = " " Or n = "-" Then
            HaeLuku = CVErr(xlErrNA)
         Else
            HaeLuku = Val(n)
         End If
         
      End Function

      • tämmösen funktiohan ei palauta mitään... ;-)

        luvun tai lukujen välissä voi olla tyhjiäkin. Kyssäristä ei käy ilmi voiko olla desimaaleja yms ?

        Sub Testi()
        MsgBox HaeLuku("222227 cm")
        End Sub

        Public Function HaeLuku(s As String) As Variant
        HaeLuku = Trim(Mid(StrReverse(s), 3))
        If IsNumeric(HaeLuku) Then
        HaeLuku = StrReverse(HaeLuku)
        Else
        HaeLuku = "VIRHE"
        End If
        End Function

        Keep EXCELing
        @Kunde


      • Tämmöinen
        kunde kirjoitti:

        tämmösen funktiohan ei palauta mitään... ;-)

        luvun tai lukujen välissä voi olla tyhjiäkin. Kyssäristä ei käy ilmi voiko olla desimaaleja yms ?

        Sub Testi()
        MsgBox HaeLuku("222227 cm")
        End Sub

        Public Function HaeLuku(s As String) As Variant
        HaeLuku = Trim(Mid(StrReverse(s), 3))
        If IsNumeric(HaeLuku) Then
        HaeLuku = StrReverse(HaeLuku)
        Else
        HaeLuku = "VIRHE"
        End If
        End Function

        Keep EXCELing
        @Kunde

        Mitä tarkoitat, ettei palauta mitään? Sellainen vika siinä kyllä oli, että jos haettava luku oli jo tekstin alussa, tuli virhe. Muuten se toimii. EndSelect:in jälkeinen Loop pitää muuttaa:
        Loop Until p = 1

        Riippuen siitä, mihin tätä tarvitaan, CVErr(xlErrNA) tilalla toiminee paremmin pelkkä tyhjä "". Näin ainakin, jos funktiota käytetään kuten ao. testissä. Siis, ymmärsin tarpeen näin:

        Sub Testi()
        Dim teksti As String
        teksti="4 ffwf222f227 km wfwwfwf88cm fw"
        MsgBox HaeLuku(teksti, "km") & " km"
        ' -> 227 km
        MsgBox HaeLuku(teksti, "cm") & " cm"
        ' -> 88 cm
        End Sub


    • excel-hevijuuser

      Kiitos!

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

    Luetuimmat keskustelut

    1. Gallup: Kansalaiset eivät usko velkajarruun

      Puolet suomalaisista ei usko velkajarrun vaatimien sopeutusten toteutuvan, kertoo Iro Researchin kyselytutkimus. Kokoom
      Maailman menoa
      111
      1251
    2. Mä oon kallistumassa

      Rikosilmoitukseen!
      Suhteet
      223
      1001
    3. Ethän mies vielä

      luovu meistä? Haluaisin jo sun syliin.
      Ikävä
      67
      960
    4. Haaveilen edelleen

      Sinusta aika ajoin
      Ikävä
      58
      932
    5. Sinulle nainen

      En ehkä koskaan osannut sanoa tätä oikein. Minun vaikeuteni luottaa liittyi ennen kaikkea menettämisen pelkoon. Siihen
      Ikävä
      66
      896
    6. Martsusta tuli leuhka

      Ja ylimielinen. Hän ei nosta persettäkään ilmaseksi . Luulempa et nämä ei tee hyvää hyvinvointivalmennuksille.... Nannal
      Kotimaiset julkkisjuorut
      247
      827
    7. Kuisla Group Oy jättänyt yrityssaneeraushakemuksen

      Samalla yrityssaneeraukseen on hakeutunut Kuisla henkilökohtaisesti ja Seinäjoen Motelli Oy, joka omistaa Sorsanpesän ki
      Seinäjoki
      36
      768
    8. Hei rakkaani.

      Kohtaaminen lähestyy. Miten teemme sen? Kumpi ottaa yhteyttä vai törmäämmekö jossain sattumalta? Tuleva vaimosi
      Ikävä
      70
      765
    9. Ethän voinut nainen tietää, että rikot rikotun

      Omaa elämää taas mietin aamuyön tunteina. En vieläkään löytänyt muistin sokkeloista ainuttakaan onnen hetkeä. Kaipuu on
      Ikävä
      72
      742
    10. Tiedätkö sitä

      Että sinun äänesi on ihanan pehmeä
      Ikävä
      42
      726
    11. Uskallanko laittaa sulle viestiä?

      Se viesti on tossa valmiina ja lähettämistä vaille valmis. Kun ei kauhee sti tunneta niin eipä sillä olisi niin väliä. S
      Ikävä
      58
      670
    12. On paha olla

      Kun olen käyttäytynyt aiemmin kaivattua kohtaan kuin joku narsisti.
      Ikävä
      49
      616
    13. Kiulu myynnissä!

      Kiulu hakee taas uutta yrittäjää. https://www.yritysporssi.fi/etela-pohjanmaa-lansi-suomi-finland/myytavat/yritykset/ma
      Ähtäri
      26
      608
    14. Et pysty peittämään minulta

      Sinä olet hyvä peittämään asioita niin halutessasi. Pystyt pitkiäkin aikoja salaamaan juttuja. Juuri mietin tuossa, olet
      Ikävä
      47
      494
    15. Tulisiko naisille asettaa korkeammat eläkemaksut

      Tämä tuli mieleeni kun luin aamun lööppejä. Japanissa alkaa olla "uutta nuorisoa" ihan urakalla, ikä alkaa sadan jälkeen
      Sinkut
      176
      493
    16. Mikä tekee kaivatustasi

      Haluttavan?
      Ikävä
      18
      488
    17. Mitä oikein tapahtui? Maajussi-Jetta sai tylyt pakit - Sulhoehdokas selittää: "Ei lentänyt kipinät"

      Maajussille morsian -sarjassa etsitään rakkautta ja rinnalle kumppania. Yksi maajusseista on Jetta - liikunnallinen ja
      Maajussille morsian
      12
      467
    18. Vieläkin saat

      Sydämen tykyttämään. Vaikka emme näe
      Ikävä
      24
      464
    19. Huumekauppaako

      ”Huumekauppa johti rajuun väkivaltaan Kokkolassa – Kolme nuorta otettu kiinni, yksi epäillyistä alaikäinen”
      Kokkola
      9
      444
    20. En tahallaan sua välttele...

      Olis niin kiva nähdä jossain muualla kuin kaupassa!
      Ikävä
      39
      427
    Aihe