find funktio

not found

Heips,

Voisiko joku selittää tuon FIND funktion toiminnan excelissä (tyhmälle ei mene kaaliin vaikka helppiä käyttää). Miten se toimii tai paremminkin minkä arvon se palauttaa? Eli tarkoituksena olisi saada etsittyä tietty teksti tietyltä alueelta (nyt ei kelpaa ctrl f), tämä teksti voi esiintyä useammassakin solussa. Miten saisi tehtyä sellaisen kaavan/kaavat, joka kertoisi missä soluissa kyseinen teksti on?

5

1589

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • ...oooOOOooo...

      Se ei etsi tiettyä tekstiä tietyltä alueelta.
      Vaan se etsii tietyn merkkijonon (tekstin) tietystä tekstistä.

      Elikkä näin
      A1 solussa teksti
      aaabbbcccdddeeefff

      C1 solussa etsittävä merkkijono
      ccc

      D1 solussa kaava
      =FIND(C1;A1;1)

      Antaa tulokseksi 7 elikkä merkkijono löytyy 7. merkistä eteenpäin.

    • excel-asiantuntija

      Kuvauksesi perusteella FIND-funktio ei selvästikään vastaa tarvettasi. Sillä voi hakea tekstiä ainoastaan yhden merkkijonon (esimerkiksi yhden solun) sisältä, kun yllä jo kävi ilmi.

      MATCH-funktio sen sijaan saattaa auttaa jossain määrin. MATCH osaa hakea, missä kohtaa listaa haettava arvo on.

      Esimerkki. Soluissa A1-A7 on seuraavat nimet:
      Vilhelmi
      Jari
      Mikko
      Harri
      Ville
      Jalmari
      Elmeri

      Funktio MATCH("Harri";A1:A7;0) antaa tulokseksi 4, koska "Harri" on listan 4. arvo.

      MATCH ei osaa hakea osamerkkijonoja, vaan ainoastaan koko merkkijonoa. MATCH ei osaa myöskään hakea monimutkaisemmasta alueesta kuin yhdestä sarakkeesta.

      Jos tarvitset monimutkaisempaa hakua, joudut laatimaan VBA-makron.

      --
      Asiantuntevaa apua Excelin kiemuroihin - LGM Oy
      http://www.lgm.fi/

      • moduuliin...
        muuta hakusolu=K1 ja hakualue= A1:D10 sopiviksi

        Function EtsiiKaikkiAlueelta(Hakuehto As Variant, HakuAlue As Range) As String
        Dim solu As Range
        Dim EkaOsoite As String
        Worksheets("Sheet1").Activate
        With HakuAlue
        Set solu = .Find( _
        what:=Hakuehto, _
        LookIn:=xlValues, _
        LookAt:=xlWhole, _
        SearchOrder:=xlByRows, _
        SearchDirection:=xlNext, _
        MatchCase:=False, _
        SearchFormat:=False)
        If Not solu Is Nothing Then
        EkaOsoite = solu.Address
        Do
        EtsiiKaikkiAlueelta = EtsiiKaikkiAlueelta & ", " & solu.Address
        Set solu = .FindNext(solu)
        Loop While Not solu Is Nothing And solu.Address EkaOsoite
        End If
        End With
        EtsiiKaikkiAlueelta = Right(EtsiiKaikkiAlueelta, Len(EtsiiKaikkiAlueelta) - 1)
        End Function

        Sub Etsi()
        Dim solut As String
        On Error GoTo virhe
        solut = EtsiiKaikkiAlueelta(Range("K1"), Range("A1:D10"))
        MsgBox Range("K1") & " löytyi solu(i)sta" & solut
        Exit Sub
        virhe:
        MsgBox "ei löytynyt!"
        End Sub

        Keep EXCELing
        @Kunde


    • ...oooOOOooo...

      Vaihtoehtona olisi myös vlookup ja hlookup käskyt.

      Ne osaavat käydä hakemassa tietoa useammasta solusta, mutta....
      Niilläkin rajoituksena on että sinun pitää tietää tarkalleen se tieto mitä haet.
      Ei riitä vain osa tiedosta.

      Esim: sinä haluat löytää tiedon "kuusi"
      Ja sinulla on jossakin solussa tieto "Joulukuusi"
      Se ei löydä sitä.
      Sinun haussa pitäisi olla "Joulukuusi" kokonaan että haku löytyy.

    • lisärajoitteita...
      ei löydä kuin yhden esiintymän- yleensä ensimmäisen...
      toki kikkailemalla asiaa voi parannella
      VBA:lla toi oli piece of cake, ja löytää kaikki osittaisellakin vastineella, nyt tossa esim. koodissani tosin ei ole osavastinetta, mutta ei siihen tartte kuin vaihtaa
      LookAt:=xlWhole --->LookAt:=xlPart

      Keep EXCELing
      Kunde

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

    Luetuimmat keskustelut

    1. Kelekkakisat

      Mikä vakava onnettomuus sattunut kisoissa. On peruttu koko kisat. Pelastuskopteri näytti käyvän paikalla.
      Nivala
      16
      7865
    2. Aivan kauheaa

      Veikö koskiuoma taas ihmishengen? Se pitää kieltää!
      Imatra
      24
      4707
    3. Onko kaivattusi

      …mielestäsi älykäs, tai kenties tyhmä? Oma mielipide.
      Ikävä
      101
      3909
    4. Virkamiehille tarvitaan tuntuvat palkankorotukset

      Naistenpäivänä on syytä muistuttaa, että virkamiehen euro on vain 80 senttiä. Palkat tulee saattaa samalle tasolle yksi
      Maailman menoa
      15
      3293
    5. Kuinka pitkä välimatka

      on teidän kotien välillä?
      Ikävä
      94
      3166
    6. Eikö me voitais

      Vaan harrastaa seksiä kun muusta ei tule mitään
      Ikävä
      55
      3059
    7. Oletko huomannut

      Yhden muutoksen?
      Ikävä
      33
      2777
    8. Epäilen ettet edes

      Kehtaisi liikkua kanssani.
      Ikävä
      46
      2564
    9. Pitäis vaan lopettaa

      Sinun kanssa yhteydenpito. Alkaa vaan haluamaan enemmän ja tuskin lopulta mikään kohtaisi. Ja ikävä vaan kasvaa ja lähei
      Ikävä
      13
      2220
    10. Ikävä uutinen uudesta Unelmia Italiassa -kaudesta

      Unelmia Italiassa -sarja on ollut supersuosittu ja uutta kautta on odotettu. Nyt on tullut se aika, että TV-katsojat pää
      Tv-sarjat
      9
      2025
    Aihe