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

1662

    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. Medvedev: Suomi tuhoutuu ydinsodassa ensimmäisenä

      Venäjän ydinaseilla on lyhyin matka Suomeen, joten ydinsodassa Suomi tuhoutuu heti sodan alkuminuuteilla, muilla mailla
      Maailman menoa
      529
      1693
    2. Hotellille löytyi ostaja....

      Tämän päivän Kainuun Sanomissa oli uutinen, että pesänhoitajan mukaan Hotelli Kainuu myydään ensiviikolla. Hieno homma,
      Kuhmo
      18
      857
    3. Sinä. Just sinä.

      Palataan ajassa taaksepäin vuosi tai kaksi. Mitä tekisit toisin jos voisit?
      Ikävä
      84
      833
    4. Onko se loukkaavaa

      Kun joka kerta tuijotan sun peppua. En mahda sille mitään, että se vangitsee katseeni. Pohdin vain että ei minusta ole k
      Ikävä
      101
      776
    5. Tiedätkö kaivattusi musiikkimaun?

      Minkälaisesta musiikista hän pitää?
      Ikävä
      63
      705
    6. Onko kaivattusi seinäruusu?

      Kun hän saapuu paikalle, huomaako kukaan, vai kääntyvätkö päät? Onko se hyvä vai huono juttu? Oletko sinä huomattu vai
      Ikävä
      49
      701
    7. Saana airola ja. muusikko spekulaatiota

      Saara airolan kirja muusikko mies. Oisko redrama tai lauri tähkä? Saana oli 13 v vuonna 2014 Tekoäly sanoo : tähkä Julki
      Yhteiskunta
      2
      657
    8. Miten kuvaisit tunteitasi

      tällä hetkellä?
      Ikävä
      63
      656
    9. Jos saisit palata takaisin johonkin vuoteen

      Mikä vuosi se olisi? Ja mitä siinä hetkessä tapahtuisi?
      Ikävä
      64
      574
    10. Moi, olen Lampunhenki

      Kerro toivomuksesi🏺
      Ikävä
      65
      523
    Aihe